系統資源的觀察

  • 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 


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章