進程:程序的運行態 佔用的CPU和內存的資源node
線程:運行在進程中的一個部分 佔用的CPU和內存的資源linux
進程和線程的區別nginx
進程與進程之間是相互獨立的centos
進程1: 1G內存 + 進程2: 1G內存 = 2Gapp
線程與線程之間共享內存ssh
線程1: 1G內存 + 線程2: 1G內存 <= 2G網站
靜態查看進程的指令: 顯示的是在執行指令的那一秒時候的進程狀態url
ps pidof pgrepspa
動態查看進程的指令: 根據時間段進行刷新。線程
top htop atop
%cpu 0.3 us, 0.3 sy , 99.3 id, 0.0 wa
us: user 用戶擁有的進程佔用CPU 百分比
sy: system 系統用戶擁有的進程佔用CPU 百分比狀況
id: idle cpu空閒率
wa: IO等待進程佔用CPU百分比
PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
7218 root 20 0 107996 620 524 R 100.0 0.1 1:54.59 dd
top
%Cpu 100 à 佔用單個CPU的資源狀況
linux 分時系統
CPU處理進程,
把進程進行切片的操做(根據時間切片)
查看內存 free –m
Mem
swap 虛擬內存: 目的緩解物理內存不足,把磁盤的一部分空間模擬內存去用。
Swap必須有,但願不要去用到
Top
d
M
P
Htop
kill pid # 將進程終止,正常退出。
kill -9 7295 # 將進程殺死
1 信號 SIGHUP 從新加載
15 信號 TERM 終止進程信號
9 信號 KILL 強制殺死進程
kill -l 查看信號標示符號
pkill 可以根據條件檢索進程並終止
優先級 數字越小,優先級越高(-20 至 19 )
nice -n 5 dd if=/dev/zero of=/dev/null
renice -n -1 26613
將進程放到後臺去運行,執行命令以後加上「&」
dd if=/dev/zero of=/dev/null &
後臺命令運行哪些場景
備份
tar
回家做業查詢信號對應的含義
7版本的啓動方式
systemctl status sshd
systemctl start sshd
systemctl stop sshd
systemctl enable sshd
systemctl disable sshd
6版本的啓動方式
/etc/init.d/sshd start | stop | restart
安裝程序的方式
1) 基於rpm包安裝程序
rpm yum
特色:程序的路徑是固定的,程序包是別人定製好
2) 二進制安裝 可指定位置進行安裝,更多一些個性化的操做
3) 源碼編譯: 靈活程度最高,功能、路徑等等,最複雜的。
yum:基於rpm包的管理格式,提供了一套自動解決依賴關係的方法。
倉庫 1. 程序 2. Repodata目錄,存放依賴關係的數據文件
/etc/yum.repos.d目錄下,倉庫指向文件
告訴本地yum,你要裝的程序在遠程xxxx位置,你要搜尋的存放依賴關係的數據文件在什麼位置
yum源
yum –y install wget
倉庫指向文件的寫法:
/etc/yum.repos.d/
要求
[root@jenny01 yum.repos.d]# cat epel.repo
[test] # 自定義名稱
name= # 說明
baseurl=https://download-ib01.fedoraproject.org/pub/epel/7/x86_64/ # 指向repodata目錄所在位置,file:// https://
enable=1 # 啓用該段配置
gpgcheck=0 # 是否須要經過gpgkey作檢測
yum makecache
yum search zip
yum install nginx
查詢:
rpm -ql nginx # 查詢程序安裝出來的文件
rpm –qa # 查看全部已安裝的程序
rpm –qf # 查看指定文件由哪一個程序安裝出來的
rpm -qi sysstat # 查看已安裝程序詳細信息
卸載:
rpm –e
rpm -e nginx --nodeps # 忽略依賴關係,僅卸載程序
更新:
yum update
注意:
rpm –ivh ..rpm
yum 只需指定程序名便可
源碼編譯的過程
./configure --prefix=/opt/nginx --sbin-path=/opt/nginx/sbin/nginx --modules-path=/opt/nginx/modules --conf-path=/opt/nginx/conf/nginx.conf
make
make install
裝bzip2 xz sysstat
看一下/etc/passwd
劃分分區 à 建立文件系統 -> 掛載
格式化 訪問磁盤的入口
分區能分幾個區?
針對磁盤文件作操做
對應的指令 fdisk
一般狀況下,磁盤文件/dev
sata/scsi sda sdb sdc
hda hdb
vda vdb
xvda xvdb
分區文件 /dev/sda1 /dev/sda2 /dev/sda3
fdisk /dev/sdc
n # 新建分區
p 主分區
e 擴展分區
d # 刪除分區
p # 打印當前分區信息
建立邏輯分區的前提是,擴展分區必須存在,且邏輯分區空間來自於擴展分區。
可以直接用的分區,只有主分區和邏輯分區
建立文件系統(格式化)
組織數據的方式 -à文件系統
inode block 分區的
linux ext4 xfs
建立文件系統的指令
ext4 mkfs.ext4 /dev/sdc1
xfs mkfs.xfs /dev/sdc2
blkid /dev/sdc1 # 用來查看分區的文件系統類型
報警: no more free space
df –h 查看磁盤空間大小是足夠的,極可能是由於inode不夠了。
掛載: mount
mount /dev/sdc1 /mnt
卸載: umount
umount /mnt
mount 開機的時候若是想要掛載
/etc/fstab
/dev/sdc1 /mnt ext4 defaults 0 0
mount –a
建立一個lvm的步驟
建立對應的指令
物理卷 pvcreate
卷組 vgcreate
邏輯卷 lvcreate
建立一個LV,大小要求500M。
pvcreate /dev/sdc3 /dev/sdc5
vgcreate datavg /dev/sdc3 /dev/sdc5
lvcreate -n datalv -L 500M datavg
設備文件/dev/datavg/datalv
mkfs.xfs /dev/datavg/datalv
查看lvm相關信息的
pvs
vgs
lvs
lvm
場景1:
在線擴容:
lvextend
lvextend -L +524M /dev/datavg/datalv 在原有的基礎上增長500M空間
針對文件系統進行擴展
xfs_growfs /dev/mapper/datavg-datalv
vgextend
1037 pvcreate /dev/sdc6
1038 vgextend datavg /dev/sdc6
1039 vgs
1040 lvs
1041 lvextend -L +1G /dev/datavg/datalv
1042 lvs
1043 xfs_growfs /dev/datavg/datalv
文件系統是xfs 對應的擴展文件命令是xfs_growfs
文件系統是ext4 對應的命令是resize2fs /dev/datavg/datalv
lvreduce
1) xfs不支持縮小
2) ext4 是支持縮小,縮小的步驟
lvm
Swap
[root@jenny01 datalv]# mkswap /dev/vgtest/swap
Setting up swapspace version 1, size = 2097148 KiB
no label, UUID=50b15e3d-9b6f-4ead-be54-47dc0bc84a68
[root@jenny01 datalv]# swapon /dev/vgtest/swap # 激活swap
[root@jenny01 datalv]# swapon –s # 查看當前swap的構成
[root@jenny01 datalv]# free -m
total used free shared buff/cache available
Mem: 972 147 651 7 173 642
Swap: 4095 0 4095
/etc/fstab
/dev/mapper/centos-swap swap swap defaults 0 0
做業