1. 程式人生 > >監控Linux系統狀態、手動增加swap空間

監控Linux系統狀態、手動增加swap空間

檢視系統負載:

w命令/uptime命令

  • 在運維工作中,w命令是一個最常用的命令之一,它可以檢視系統當前的負載情況
[root@localhost ~]# w
 12:00:54 up  3:54,  1 user,  load average: 0.08, 0.03, 0.05
USER     TTY      FROM             LOGIN@   IDLE   JCPU   PCPU WHAT
root     pts/0    192.168.254.1    08:16    6.00s  6:48   0.01s w
  • 第一行顯示的內容為:1,系統時間 2,系統執行時間 3,登入使用者數量 4,平均負載 (三個數值,第一個是1分鐘內的平均負載,第二個是5分鐘內的平均負載 ,第三個是15分鐘內的平均負載)
  • 第二行的內容是下面行的說明;1,登入使用者。2,登入終端。3,登入時間點。 這裡面比較重要的是第一行的load average 的三個數值中的第一個,一般情況下該值越大說明CPU負載越大,只要不超過CPU數量就沒關係,檢視CPU數量可以使用cat /proc/cpuinfo來實現 ,通過檢視最後一段資訊的processor ,如果是3 ,則為4個。(這裡的個數說的不是物理CPU個數,比如機器裡面有兩個四核CPU,則這個數量就是8)

top命令

  • top命令顯示程序所佔的系統資源
[root@localhost ~]# top
top - 23:35:14 up 52 min,  2 users,  load average: 0.00, 0.01, 0.05
Tasks: 360 total,   1 running, 359 sleeping,   0 stopped,   0 zombie
%Cpu(s):  0.0 us,  0.1 sy,  0.0 ni, 99.8 id,  0.0 wa,  0.0 hi,  0.1 si,  0.0 st
KiB Mem:   3869044 total,   304728 used,  3564316 free,      692 buffers
KiB Swap:  2047996 total,        0 used,  2047996 free.    99664 cached Mem

   PID USER      PR  NI    VIRT    RES    SHR S  %CPU %MEM     TIME+ COMMAND                                                                                                                 
  2346 root      20   0  133684   4924   3748 S   0.3  0.1   0:00.40 sshd                                                                                                                    
  2433 root      20   0  123880   1868   1184 R   0.3  0.0   0:00.08 top                                                                                                                     
     1 root      20   0   49976   6456   3740 S   0.0  0.2   0:03.34 systemd                                                                                                                 
     2 root      20   0       0      0      0 S   0.0  0.0   0:00.03 kthreadd   
  • top命令執行的結果是動態輸出的,每3秒重新整理一次,它的特點是把佔用系統資源最高的程序放到前面。
  • RES這一項是程序所佔記憶體大小
  • %mem為使用記憶體大小百分比
  • 在top介面可以按M鍵,使顯示內容按記憶體使用大小排序
  • 在top介面可以按1鍵,來顯示所有CPU的使用情況。
  • top -bn1可以一次性輸出所有資訊,但是它是靜態的,方便shell指令碼使用。

free命令

  • free檢視記憶體和swap使用情況,關注最後一列的available,這個數字是真正剩餘的實體記憶體大小
[root@localhost ~]# free
              total        used        free      shared  buff/cache   available
Mem:        3861512      812224     2521912       11820      527376     2777284
Swap:       2097148           0     2097148
  • free -k /free -h /free -m以不同的容量單位顯示內容。

手動增加swap

[root@localhost ~]# dd if=/dev/zero of=/bigfile bs=1M count=1000
1000+0 records in
1000+0 records out
1048576000 bytes (1.0 GB) copied, 5.13188 s, 204 MB/s
[root@localhost ~]# mkswap /bigfile
Setting up swapspace version 1, size = 1023996 KiB
no label, UUID=addba5c0-f7a2-42f5-89a6-48fed834bec0
[root@localhost ~]# chmod 600 /bigfile
[root@localhost ~]# swapon /bigfile
  • 開機自動掛載新增swap
vi /etc/fstab
  • 增加以下內容
/bigfile        swap     swap    defaults