程式檢視
ps aux
ps
是process status
的縮寫,也就是程式狀態的意思.
引數資訊a
:all
顯示所用程式,不僅顯示當前使用者啟動的程式u
:以user
為主的格式輸出程式資訊x
:顯示當前使用者所有終端下的程式
返回資訊USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND root 1 0.0 0.2 44672 3864 ? Ss 1月15 0:02 /usr/lib/syste root 2 0.0 0.0 0 0 ? S 1月15 0:00 [kthreadd] root 4 0.0 0.0 0 0 ? S< 1月15 0:00 [kworker/0:0H]
USER
啟動該程式的使用者PID
程式號%CPU
cpu佔有率(%)%MEM
記憶體佔有率(%)VSZ
佔用虛擬記憶體(swap空間)的大小RSS
佔用常駐記憶體(實體記憶體)的大小TTY
程式在哪個終端上執行,?
代表未知或不需要終端STAT
表示程式狀態S
睡眠R
執行Z
僵死<
高優先順序N
低優先順序s
父程式+
前臺程式
START
程式開始的時間TIME
程式執行了多長時間COMMAND
啟動該程式的命令ps ef
引數資訊e
:顯示系統內所有程式的資訊f
:full
使用完整格式顯示程式資訊
顯示資訊
基本與aux
類似
top
顯示資訊top - 01:25:39 up 5:25, 4 users, load average: 0.03, 0.06, 0.07 Tasks: 101 total, 4 running, 97 sleeping, 0 stopped, 0 zombie %Cpu(s): 1.3 us, 1.7 sy, 0.0 ni, 97.0 id, 0.0 wa, 0.0 hi, 0.0 si, 0.0 st KiB Mem : 1882012 total, 404536 free, 199104 used, 1278372 buff/cache KiB Swap: 0 total, 0 free, 0 used. 1486184 avail Mem PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND 1056 root 20 0 51136 1112 772 R 0.7 0.1 2:33.37 rshim 1 root 20 0 44672 3864 2444 S 0.0 0.2 0:02.64 systemd
第一行,任務佇列資訊,和
uptime
命令執行的結果相同系統時間: 01:25:39
執行時間: up 5:25
當前登入使用者: 4 users
負載均衡: load average: 0.03, 0.06, 0.07 三個數字分別表示 1分鐘 5分鐘 15分鐘的負載
第二行,任務
Tasks: 101 total, 4 running, 97 sleeping, 0 stopped, 0 zombie 總程式:101 執行:4 休眠:97 停止:0 殭屍程式:0
第三行,cpu佔有率
%Cpu(s): 1.3 us, 1.7 sy, 0.0 ni, 97.0 id, 0.0 wa, 0.0 hi, 0.0 si, 0.0 st
- us - 使用者空間(user space):1.3%
- sy - 核心空間(sysctl):1.7%
- ni - 改變過優先順序的程式(nice):0.0%
- id - 空閒cpu(idol):97.0%
- wa - io等待(wait):0.0%
- hi - 硬中斷佔用(Hardware IRQ):0.0%
- si - 軟中斷佔用(Software Interrupts):0.0%
第四行,記憶體狀態
KiB Mem : 1882012 total, 404536 free, 199104 used, 1278372 buff/cache 總記憶體量 = 空閒記憶體 + 被使用記憶體 + 快取的記憶體量
第五行,swap交換分割槽資訊
KiB Swap: 0 total, 0 free, 0 used. 1486184 avail Mem
linux
為了提高讀寫效率和速度,會將檔案在記憶體中進行快取,這一部分就是快取記憶體cache memory
,即使你的程式執行結束後這部分記憶體也不會被釋放,這就導致你的linux
系統中程式頻繁讀寫檔案後,可用實體記憶體變少,當變少到實體記憶體不夠用時,就需要實體記憶體釋放出來一部分空間,這部分被釋放出來的空間資訊會暫時被保留在swap
空間當中,等到程式要執行需要這部分資料時,再從Swap
分割槽中將其恢復到記憶體當中,所以當Swap
的used
值在頻繁變化時,就說明此時,系統的實體記憶體不夠用了.- 第六行,欄位含義與
ps aux
基本相似top -p 程式pid
可以只看對應pid
的程式資訊
- 第六行,欄位含義與
程式控制
程式優先順序控制
nice -n 10 XXX
: 將xxx
程式啟動時使用nice
命令可以設定它的優先順序為10,這個數值的範圍是(-20~19),數值越小,優先順序越高.renice -n -20 17265
:將pid = 17265
的程式的優先順序重新設定為-20
程式作業控制
./xxx.sh &
將要啟動的程式,後臺執行.jobs
可以檢視後臺執行的程式.[2]+ 執行中 nice -n 10 ./minio server /data/minio.data/ &
fg 2
:fg
+jobs編號
將程式提到前臺.ctrl + z
: 將程式變為停止狀態.bg 2
:bg
+jobs編號
後臺執行這個程式.服務管理工具
service
和systemctl
是Linux
管理服務的兩種方式.service
實際上是去/etc/init.d
目錄下去執行相關程式service redis start 等同於 /etc/init.d/redis start
service xxx start
開啟服務service xxx stop
關閉服務service xxx restart
重啟服務service xxx status
檢視服務狀態systemctl
是Linux
最新的初始化系統init
,作用是提高系統的啟動速度,systemctl
也相容service
命令,即systemctl
也會到init.d
目錄下去執行相關程式.systemctl start xxx
開啟服務systemctl stop xxx
關閉服務systemctl restart xxx
重啟服務systemctl status xxx
檢視服務狀態systemctl reload xxx
重新載入服務systemctl enable xxx
開機啟動服務systemctl disable xxx
開機停止服務