free :觀察內存使用情況
[root@www ~]# free -m(MB)
total used free shared buffers cached
Mem: 988 393 595 0 45 162
-/+ buffers/cache: 184 803
Swap: 1999 0 1999
內存使用高 說明內存使用率很高 效率高
而swap使用很高(超過20%)時 就又要考慮加內存了
uname:查閱系統與核心相關資訊
[root@www ~]# uname -a
Linux www.bird.wjd 2.6.32-573.el6.x86_64 #1 SMP Thu Jul 23 15:44:03 UTC 2015 x86_64 x86_64 x86_64 GNU/Linux
uptime:觀察系統啓動時間與工作負載
[root@www ~]# uptime
19:53:15 up 19:45, 1 user, load average: 0.00, 0.00, 0.00
netstat :追蹤網絡或插槽文件
[root@www ~]# netstat -tnlp
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name
tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN 1309/sshd
tcp 0 0 0.0.0.0:8888 0.0.0.0:* LISTEN 4681/nginx
tcp 0 0 127.0.0.1:25 0.0.0.0:* LISTEN 1399/master
tcp 0 0 ::1:20000 :::* LISTEN 4941/nc
tcp 0 0 :::22 :::* LISTEN 1309/sshd
tcp 0 0 :::23 :::* LISTEN 1320/xinetd
tcp 0 0 ::1:25 :::* LISTEN 1399/master
[root@www ~]# ps -ef | grep nginx
root 4681 1 0 05:03 ? 00:00:00 nginx: master process nginx
nginx 4682 4681 0 05:03 ? 00:00:00 nginx: worker process
root 6611 6462 0 20:00 pts/0 00:00:00 grep --color=auto nginx
[root@www ~]# killall -9 nginx
[root@www ~]# ps -ef | grep nginx
root 6614 6462 0 20:00 pts/0 00:00:00 grep --color=auto nginx
dmesg :分析核心產生的信息
系統啓動時會去偵測系統的硬件 dmesg讀取內存中核心偵測的硬件信息
[root@www ~]# dmesg | more 所有
[root@www ~]# dmesg | grep -i sd 硬盤
[root@www ~]# dmesg | grep -i eth 網卡
vmstat :偵測系統資源變化
[root@www ~]# vmstat 1 3 (每一秒偵測一次 一共給偵測3次)
procs -----------memory------------------ ---swap-- -----io---- --system-- -----cpu-----
r b swpd free buff cache si so bi bo in cs us sy id wa st
0 0 0 610980 47132 166952 0 0 3 4 27 13 0 0 100 0 0
0 0 0 610948 47132 166972 0 0 0 0 30 13 0 0 100 0 0
0 0 0 610948 47132 166972 0 0 0 0 35 17 0 0 100 0 0
內存欄位 (procs) 的項目分別爲:
r :等待運行中的程序數量;b:不可被喚醒的程序數量。這兩個項目越多,代表系統越忙碌 (因爲系統太忙,所以很多程序就無法被運行或一直在等待而無法被喚醒之故)。內存欄位 (memory) 項目分別爲:
swpd:虛擬內存被使用的容量; free:未被使用的內存容量; buff:用於緩衝內存; cache:用於高速緩存。 這部份則與 free 是相同的。內存置換空間 (swap) 的項目分別爲:
si:由磁碟中將程序取出的量; so:由於內存不足而將沒用到的程序寫入到磁碟的 swap 的容量。 如果 si/so 的數值太大,表示內存內的數據常常得在磁碟與主內存之間傳來傳去,系統效能會很差!磁碟讀寫 (io) 的項目分別爲:
bi:由磁碟寫入的區塊數量; bo:寫入到磁碟去的區塊數量。如果這部份的值越高,代表系統的 I/O 非常忙碌!系統 (system) 的項目分別爲:
in:每秒被中斷的程序次數; cs:每秒鐘進行的事件切換次數;這兩個數值越大,代表系統與周邊設備的溝通非常頻繁! 這些周邊設備當然包括磁碟、網絡卡、時間鍾等。CPU 的項目分別爲:
us:非核心層的 CPU 使用狀態; sy:核心層所使用的 CPU 狀態; id:閒置的狀態; wa:等待 I/O 所耗費的 CPU 狀態; st:被虛擬機器 (virtual machine) 所盜用的 CPU 使用狀態 (2.6.11 以後才支持)。
查看已開啓的文件或運行程序開啓的文件
文件看程序
[root@www ~]# fuser -uv /usr/local/nginx/logs/error.log
用戶 進程號 權限 命令
/usr/local/nginx/logs/error.log:
root 6677 F.... (root)nginx
nginx 6678 F.... (nginx)nginx
程序看文件
[root@www ~]# lsof -u root | grep nginx
找出正在運行的程序的pid
[root@www lsof_4.76_src]# pidof nginx
6678 6677