1.linux平均負載
阿新 • • 發佈:2019-05-08
comm kthread 用戶登錄 nta 內容 使用 command str 安裝
這裏我說的不會很晦澀難懂,爭取用很容易理解的方式展示我學習後的理解
1.首先介紹下stress命令參數,下面我們會使用到
-? 顯示幫助信息 -v 顯示版本號 -q 不顯示運行信息 -n 顯示已完成的指令情況 -t --timeout N 指定運行 N 秒後停止 --backoff N 等待 N 微秒後開始運行 -c 產生 n 個進程,每個進程都反復不停的計算隨機數的平方根 -i 產生 n 個進程,每個進程反復調用 sync(), sync() 用於將內存上的內容寫到硬盤上 -m --vm n 產生 n 個進程,每個進程不斷調用內存分配 malloc 和內存釋放 free 函數 --vm-bytes B 指定 malloc 時內存的字節數 (默認 256MB) --vm-hang N 指定在 free 棧的秒數 -d --hadd n 產生 n 個執行 write 和 unlink 函數的進程 --hadd-bytes B 指定寫的字節數 --hadd-noclean 不 unlink
2.初識平均負載
[[email protected] ~]# uptime
14:38:11 up 2:10, 4 users, load average: 0.00, 0.00, 0.00
14:38:11 up //系統當前時間
up 2:10 //系統運行了多久
4 users //這裏我是用root用戶登錄,打開了四個窗口
load average: 0.00, 0.00, 0.00 //分別是系統過去1分鐘,5分鐘,15分鐘的負載
平均負載是什麽?
平均負載是單位時間內,系統處於可運行狀態和不可中斷狀態的平均進程數,即系統中單位時間內的活躍進程數。可運行狀態的進程:
正在使用CPU或正在等待CPU的進程。即ps命令中,stat處於R(Running|Runnable)的進程不可中斷的進程:
例如在進行磁盤讀寫的進程,此時為了保證數據的完整性,會使進程的狀態設置為D,即不可被中斷,如果被中斷了,數據是不會被完整保存的。
"R狀態的演示查看" 在我的系統中,我使用yum安裝了一下zlib*,並且安裝了zabbix客戶端,但zabbix服務端並沒有啟動。 根據ps -aux查看到,zabbix客戶端是處於S狀態,並不是一個活躍的正在工作的進程。yum命令如果你仔細觀察,會發現,在install的過程,是處於R狀態,但這個狀態很短暫,任務完成,就處於S狀態了。 [[email protected] ~]# ps -aux Warning: bad syntax, perhaps a bogus ‘-‘? See /usr/share/doc/procps-3.2.8/FAQ USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND root 1 0.1 0.0 19356 1532 ? Ss 12:27 0:01 /sbin/init root 2 0.0 0.0 0 0 ? S 12:27 0:00 [kthreadd] zabbix 1203 0.0 0.0 76836 1228 ? S 12:27 0:00 /usr/sbin/zabbix_agentd -c /etc/zabbix/zabbix_agentd.conf zabbix 1205 0.0 0.0 76836 1328 ? S 12:27 0:00 /usr/sbin/zabbix_agentd: collector [idle 1 sec] zabbix 1206 0.0 0.0 76836 1956 ? S 12:27 0:00 /usr/sbin/zabbix_agentd: listener #1 [waiting for connection] zabbix 1207 0.0 0.0 76836 1956 ? S 12:27 0:00 /usr/sbin/zabbix_agentd: listener #2 [waiting for connection] zabbix 1208 0.0 0.0 76836 1956 ? S 12:27 0:00 /usr/sbin/zabbix_agentd: listener #3 [waiting for connection] zabbix 1209 0.0 0.1 76840 2120 ? S 12:27 0:00 /usr/sbin/zabbix_agentd: active checks #1 [idle 1 sec] root 1402 21.1 4.1 387784 85264 pts/1 R+ 12:45 0:08 /usr/bin/python /usr/bin/yum install -y zlib* root 1426 0.0 0.0 110260 1156 pts/0 R+ 12:46 0:00 ps -aux
"D狀態的演示查看"
在一個窗口執行
[[email protected] ~]# stress -d 1 -i 1 --hdd-bytes 3G
stress: info: [7112] dispatching hogs: 0 cpu, 1 io, 0 vm, 1 hdd
另一個窗口查看,可看到處於D狀態
[[email protected] ~]# ps -aux
Warning: bad syntax, perhaps a bogus ‘-‘? See /usr/share/doc/procps-3.2.8/FAQ
USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND
root 1 0.0 0.0 19356 1428 ? Ss 12:27 0:01 /sbin/init
root 2 0.0 0.0 0 0 ? S 12:27 0:00 [kthreadd]
root 7113 0.5 0.0 6524 112 pts/0 D+ 14:52 0:00 stress -d 1 -i 1 --hdd-bytes 3G
root 7114 39.4 0.0 7472 1180 pts/0 D+ 14:52 0:03 stress -d 1 -i 1 --hdd-bytes 3G
1.linux平均負載