1. 程式人生 > >3.20 10.1-10.5聽課筆記

3.20 10.1-10.5聽課筆記

系統負載 top vmstat nload w

w查看系統負載

*系統負載表示單位時間內有多少進程在占用cpu

[root@localhost ~]# w

22:23:18 up 3:29, 2 users, load average: 0.00, 0.01, 0.05

USER TTY FROM LOGIN@ IDLE JCPU PCPU WHAT

root tty1 19 4days 0.03s 0.03s -bash

root pts/0 192.168.91.1 22:20 6.00s 0.07s 0.05s w

顯示的信息包括當前時間,服務器運行時長,當前登錄用戶數,負載值(分別顯示當前

1分鐘、5分鐘、15分鐘的系統負載情況);第二行顯示用戶信息,分別是用戶名、用戶登錄方式、從哪裏登錄、登錄時間、idle是空閑時長

[root@localhost ~]# cat /proc/cpuinfo

processor : 0

vendor_id : GenuineIntel

cpu family : 6

model : 78

model name : Intel(R) Core(TM) i5-6200U CPU @ 2.30GHz

stepping : 3

Processor參數顯示當前有幾顆邏輯cpu,為0則有1顆,為1則有2顆,依次類推,一般理想負載情況應該是所有進程剛好占滿所有邏輯

cpu,不會有cpu空閑,也沒有進程排隊等待,所以以上cpu等於1為最理想狀態

[root@localhost ~]# uptime

22:47:16 up 3:53, 2 users, load average: 0.00, 0.01, 0.05

顯示w的部分信息

Vmstat命令

[root@localhost ~]# vmstat

procs -----------memory---------- ---swap-- -----io---- -system-- ------cpu-----

r b swpd free buff cache si so bi bo in cs us sy id wa st

2 0 0 713056 2076 162796 0 0 9 1 48 48 0 0 100 0 0

Cpu、內存、交換分區、io(磁盤)、系統進程

[root@localhost ~]# vmstat 1 1秒顯示一次

procs -----------memory---------- ---swap-- -----io---- -system-- ------cpu-----

r b swpd free buff cache si so bi bo in cs us sy id wa st

2 0 0 713056 2076 162828 0 0 9 1 48 48 0 0 100 0 0

0 0 0 713040 2076 162828 0 0 0 0 44 40 0 0 100 0 0

[root@localhost ~]# vmstat 1 5 1秒顯示1次,顯示5次自動結束

procs -----------memory---------- ---swap-- -----io---- -system-- ------cpu-----

r b swpd free buff cache si so bi bo in cs us sy id wa st

2 0 0 712528 2076 162828 0 0 9 1 48 48 0 0 100 0 0

0 0 0 712528 2076 162828 0 0 0 0 50 44 0 0 100 0 0

0 0 0 712528 2076 162828 0 0 0 0 53 45 0 1 99 0 0

0 0 0 712528 2076 162828 0 0 0 0 44 36 0 0 100 0 0

0 0 0 712528 2076 162828 0 0 0 0 52 43 0 0 100 0 0

0 0 0 713040 2076 162828 0 0 0 0 56 52 0 0 100 0 0

0 0 0 713040 2076 162828 0 0 0 0 42 40 0 0 1

r:表示當前運行的進程數量,一個時刻只能有一個進程使用cpu,另外的進程處於排隊等待狀態,只要在排隊就屬於r狀態

bblock,多少被進程以外的資源阻斷,如網絡卡慢造成進程等待

swpd:在被使用的交換分區大小,該數字不變,說明內存與swap沒有數據交換,表示內存夠用,若該數字持續變化則說明由於內存不夠造成swap與內存頻繁交換數據

free

buff

cache

si:若內存與swap頻繁交換數據,則siso也會頻繁改變大小,si表示有多少數據從swap進入內存

so:多少數據從內存被交換到swap

bibibo與磁盤相關,若bibo過大表示磁盤在頻繁讀寫,bi表示從磁盤進入內存(讀的數據量)

bo:從內存寫入磁盤的數據量

usussyid總和為100%us表示用戶的進程占用cpu資源的百分比,該數字長期大於50則說明系統資源不足

sy:系統本身的進程、服務占用cpu的百分比

id:空閑cpu資源百分比

wawait,表示有多少進程在等待cpu

top命令(每3秒動態顯示一次)

top - 23:30:14 up 4:36, 2 users, load average: 0.00, 0.01, 0.05

Tasks: 89 total, 1 running, 87 sleeping, 1 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 stKiB Mem : 999696 total, 711756 free, 122800 used, 165140 buff/cache

KiB

Swap: 2097148 total, 2097148 free, 0 used. 701984 avail

Mem

PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND

1681 root 20 0 145700 5208 3932 S 0.3 0.5 0:00.39 sshd 1711 root 20 0 0 0 0 S 0.3 0.0 0:00.39 kworker/0:1

1 root 20 0 128164 6820 4056 S 0.0 0.7 0:01.50 systemd 2 root 20 0 0 0 0 S 0.0 0.0 0:00.00 kthreadd

3 root 20 0 0 0 0 S 0.0 0.0 0:00.61 ksoftirqd/0 5 root 0 -20 0 0 0 S 0.0 0.0 0:00.00 kworker/0:0H

6 root 20 0 0 0 0 S 0.0 0.0 0:00.01 kworker/u256:0 7 root rt 0 0 0 0 S 0.0 0.0 0:00.00 migration/0

8 root 20 0 0 0 0 S 0.0 0.0 0:00.00 rcu_bh 9 root 20 0 0 0 0 S 0.0 0.0 0:00.56 rcu_sched

10 root rt 0 0 0 0 S 0.0 0.0 0:00.15 watchdog/0 12 root 20 0 0 0 0 S 0.0 0.0 0:00.00 kdevtmpfs

13 root 0 -20 0 0 0 S 0.0 0.0 0:00.00 netns 14 root 20 0 0 0 0 S 0.0 0.0 0:00.00 khungtaskd

15 root 0 -20 0 0 0 S 0.0 0.0 0:00.00 writeback

16 root 0 -20 0 0 0 S 0.0 0.0 0:00.00 kintegrityd

17 root 0 -20 0 0 0 S 0.0 0.0 0:00.00 bioset

18 root 0 -20 0 0 0 S 0.0 0.0 0:00.00 kblockd

19 root 0 -20 0 0 0 S 0.0 0.0 0:00.00 md

25 root 20 0 0 0 0 S 0.0 0.0 0:00.00 kswapd0

26 root 25 5 0 0 0 S 0.0 0.0 0:00.00 ksmd

27 root 39 19 0 0 0 S 0.0 0.0 0:00.10 khugepaged

28 root 0 -20 0 0 0 S 0.0 0.0 0:00.00 crypto

36 root 0 -20 0 0 0 S 0.0 0.0 0:00.00 kthrotld

37 root 20 0 0 0 0 S 0.0 0.0 0:00.66 kworker/u256:1

38 root 0 -20 0 0 0 S 0.0 0.0 0:00.00 kmpath_rdacd

39 root 0 -20 0 0 0 S 0.0 0.0 0:00.00 kpsmoused

41 root 0 -20 0 0 0 S 0.0 0.0 0:00.00 ipv6_addrconf

60 root 0 -20 0 0 0 S 0.0 0.0 0:00.00 deferwq

92 root 20 0 0 0 0 S 0.0 0.0 0:00.00 kauditd

232 root 0 -20 0 0 0 S 0.0 0.0 0:00.00 mpt_poll_0

233 root 0 -20 0 0 0 S 0.0 0.0 0:00.00 mpt/0

234 root 0 -20 0 0 0 S 0.0 0.0 0:00.00 ata_sff

*3秒動態顯示一次

第一行:系統負載情況(同w);

第二行:總進程數,正在進程的任務(runningvmstat中的r),sleeping狀態的進程(處於休眠狀態,未運行),被終止的進程,僵屍進程(主進程被意外終止,留下的子進程)

St表示被偷走的cpu資源,通常在虛擬化時虛擬機會借走主機部分cpu資源

Us參數過大表示cpu使用率過高,us長期保持較高的值則cpu長期高負荷運轉,可能導致服務器使用壽命大大縮短

Mem:這一行分別表示總內存、空閑內存、被使用的內存以及buff/cache

默認按cpu百分比排序,使用cpu多的進程排在前面;

Mem表示內存,res表示物理內存大小(單位:千字節)

Shift+m可以按內存使用率排序(從高到低)

Shift+p;切換回cpu排序

按數字1可以在查看所有cpu和指定cpu間切換

按字母q退出top顯示

Top –c 查看具體進程對應的命令全局路徑

top - 00:08:09 up 5:13, 2 users, load average: 0.00, 0.01, 0.05

Tasks: 90 total, 1 running, 87 sleeping, 2 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 : 999696 total, 710848 free, 123684 used, 165164 buff/cache

KiB Swap: 2097148 total, 2097148 free, 0 used. 701076 avail Mem

PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND

1 root 20 0 128164 6820 4056 S 0.0 0.7 0:01.52 /usr/lib/systemd/systemd --switched-root --system --deserialize 21

2 root 20 0 0 0 0 S 0.0 0.0 0:00.00 [kthreadd]

3 root 20 0 0 0 0 S 0.0 0.0 0:00.71 [ksoftirqd/0]

5 root 0 -20 0 0 0 S 0.0 0.0 0:00.00 [kworker/0:0H]

6 root 20 0 0 0 0 S 0.0 0.0 0:00.01 [kworker/u256:0]

7 root rt 0 0 0 0 S 0.0 0.0 0:00.00 [migration/0]

8 root 20 0 0 0 0 S 0.0 0.0 0:00.00 [rcu_bh]

Top –bn1 將所有進程一次全部列出

[root@localhost ~]# top -bn1

top - 00:09:49 up 5:15, 2 users, load average: 0.00, 0.01, 0.05

Tasks: 90 total, 1 running, 87 sleeping, 2 stopped, 0 zombie

%Cpu(s): 0.0 us, 0.0 sy, 0.0 ni,100.0 id, 0.0 wa, 0.0 hi, 0.0 si, 0.0 st

KiB Mem : 999696 total, 710972 free, 123560 used, 165164 buff/cache

KiB Swap: 2097148 total, 2097148 free, 0 used. 701200 avail Mem

PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND

1 root 20 0 128164 6820 4056 S 0.0 0.7 0:01.52 systemd

2 root 20 0 0 0 0 S 0.0 0.0 0:00.00 kthreadd

3 root 20 0 0 0 0 S 0.0 0.0 0:00.71 ksoftirqd/0

5 root 0 -20 0 0 0 S 0.0 0.0 0:00.00 kworker/0:0H

6 root 20 0 0 0 0 S 0.0 0.0 0:00.01 kworker/u256:0

7 root rt 0 0 0 0 S 0.0 0.0 0:00.00 migration/0

8 root 20 0 0 0 0 S 0.0 0.0 0:00.00 rcu_bh

9 root 20 0 0 0 0 S 0.0 0.0 0:00.63 rcu_sched

10 root rt 0 0 0 0 S 0.0 0.0 0:00.18 watchdog/0

12 root 20 0 0 0 0 S 0.0 0.0 0:00.00 kdevtmpfs

13 root 0 -20 0 0 0 S 0.0 0.0 0:00.00 netns

14 root 20 0 0 0 0 S 0.0 0.0 0:00.00 khungtaskd

15 root 0 -20 0 0 0 S 0.0 0.0 0:00.00 writeback

16 root 0 -20 0 0 0 S 0.0 0.0 0:00.00 kintegr

Pid:進程的進程號

User:創建進程的用戶

使用killpid可以殺死特定進程


3.20 10.1-10.5聽課筆記