1. 程式人生 > >5.1-3監控Linux系統狀態

5.1-3監控Linux系統狀態

開發十年,就只剩下這套架構體系了! >>>   

監控Linux系統狀態

 檢視系統負載

W命令/uptime命令

  • W命令可以檢視系統當前的負載情況
[root@www ~]# w
 08:34:03 up 1 min,  1 user,  load average: 1.78, 0.73, 0.27
USER     TTY      FROM             LOGIN@   IDLE   JCPU   PCPU WHAT
root     pts/0    192.168.204.1    08:33    3.00s  0.04s  0.02s w
  •  第一行顯示的內容為:1,系統時間 2,系統執行時間 3,登入使用者數量 4,平均負載(三個數值,第一個是1分鐘內的平均負載,第二個是5分鐘內的平均負載,第三個是15分鐘內的平均負載) #平均負載是X分鐘平均有多少個程序佔用CPU
  • 第二行的內容是下面行的說明:1,登入使用者 2,登入終端 3,登入時間點 
  • 比較重要的是第一行的load average 的三個數值中的第一個,一般情況下該值越大說明CPU負載越大
  • 某一時刻1顆CPU只能有一個程序在使用其資源
  • 佔用CPU的程序可以是Running,也可以是waiting

 檢視CPU資訊的命令

  • cat /proc/cpuinfo  #檢視最後一段資訊的processor,如果是3,則為4個。(這裡的個數不是物理CPU個數,比如機器裡面有兩個四核CPU,物理CPU個數為8)
  • lscpu
[root@www ~]# lscpu
Architecture:          x86_64
CPU op-mode(s):        32-bit, 64-bit
Byte Order:            Little Endian
CPU(s):                1
On-line CPU(s) list:   0
Thread(s) per core:    1
Core(s) per socket:    1
座:                 1
NUMA 節點:         1
廠商 ID:           GenuineIntel
CPU 系列:          6
型號:              42
型號名稱:        Intel(R) Core(TM) i3-2350M CPU @ 2.30GHz
步進:              7
CPU MHz:             2294.829
BogoMIPS:            4589.65
超管理器廠商:  VMware
虛擬化型別:     完全
L1d 快取:          32K
L1i 快取:          32K
L2 快取:           256K
L3 快取:           3072K
NUMA 節點0 CPU:    0
Flags:                 fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts mmx fxsr sse sse2 ss syscall nx rdtscp lm constant_tsc arch_perfmon pebs bts nopl xtopology tsc_reliable nonstop_tsc aperfmperf eagerfpu pni pclmulqdq ssse3 cx16 pcid sse4_1 sse4_2 x2apic popcnt xsave avx hypervisor lahf_lm epb xsaveopt dtherm arat pln pts

top命令

  • top命令動態顯示程序所佔的系統資源  #q退出
[root@www ~]# top
top - 08:53:38 up 21 min,  1 user,  load average: 0.00, 0.03, 0.09
Tasks:  97 total,   1 running,  96 sleeping,   0 stopped,   0 zombie
%Cpu(s):  0.0 us,  0.3 sy,  0.0 ni, 99.7 id,  0.0 wa,  0.0 hi,  0.0 si,  0.0 st
KiB Mem :  1005628 total,   726728 free,   132984 used,   145916 buff/cache
KiB Swap:  2097148 total,  2097148 free,        0 used.   709128 avail Mem 

  PID USER      PR  NI    VIRT    RES    SHR S %CPU %MEM     TIME+ COMMAND                                                          
 5348 root      20   0  301088   6540   5100 S  0.3  0.7   0:01.79 vmtoolsd                                                         
 5938 root      20   0  158860   5596   4252 S  0.3  0.6   0:00.34 sshd                                                             
    1 root      20   0  127892   6504   4140 S  0.0  0.6   0:02.30 systemd                                                          
    2 root      20   0       0      0      0 S  0.0  0.0   0:00.00 kthreadd
.....

  • top命令執行的結果是動態輸出的,每3秒重新整理一次,它的特點是把佔用系統資源最高的程序放到前面
  • RES這一項是程序所佔的記憶體大小
  • %mem為使用記憶體大小百分比
  • 在top介面按M鍵,使顯示內容按記憶體使用大小排序
  • 在top介面按1鍵,來顯示所有CPU的使用情況
  • top-bn1可以一次性輸出所有資訊,但是它是靜態的,方便shell指令碼使用

free命令

  • free檢視內容和swap使用情況關注最後一列的available,這個數字是真正剩餘的實體記憶體大小
[root@www ~]# free
              total        used        free      shared  buff/cache   available
Mem:        1005628      133060      726464        7636      146104      708944
Swap:       2097148           0     2097148

#available是free的實體記憶體加上buff/cache所剩餘(暫時不使用)的實體記憶體之和

  • buffer和cached區別

 buffer:這部分記憶體是從CPU產生即將寫入磁盤裡去的那部分資料

 cached:這部分記憶體是先從磁盤裡讀出來,然後臨時存到記憶體裡的那部分資料  

  • free -k/free -h/free -m以不用容量單位顯示內容,預設為k       

手動增加swap

[root@www ~]# dd if=/dev/zero of=/bigfile bs=1M count=1000 #建立一個增加1G記憶體容量的檔案
記錄了1000+0 的讀入
記錄了1000+0 的寫出
1048576000位元組(1.0 GB)已複製,18.7426 秒,55.9 MB/秒
[root@www ~]# mkswap /bigfile             #格式化為swap格式
正在設定交換空間版本 1,大小 = 1023996 KiB
無標籤,UUID=969ba398-81ac-416d-9453-86443f98630b
[root@www ~]# chmod 600 /bigfile 
[root@www ~]# swapon /bigfile  掛載檔案
  • 開機自動掛載新增swap
vi /etc/fstab
  • 增加以下內容
/bigfile        swap     swap    defaults    0     0