Linux系統平常管理1 w,vmstat,top,sar,free,ps監控命令

1、 w, uptimephp

命令w, uptimelinux

[root@linux2 ~]# w
 04:02:31 up 1 day,  8:25,  1 user,  load average: 0.00, 0.00, 0.00
USER     TTY      FROM              LOGIN@   IDLE   JCPU   PCPU WHAT
root     pts/0    192.168.21.103   23:38    0.00s  0.47s  0.13s w

system load averages :單位時間段內活動的進程數 shell

第一組數字:表示的是最近1分鐘的平均負載,這個數字若是大於CPU的核數,那麼久說明資源不夠了bash

第二字數字:表示的是最近5分鐘平均負載服務器

第三組數字:表示的是最近15分鐘的平均負載 網絡

 

ab -n 10000 -c 100 'http://www.ypl.cc/forum.php'多線程

意思就同時100我的去訪問這個圖片,一共持續10000次併發

-n:請求多少次socket

-c:併發多少ide


查看cpu的個數和核數

cat /proc/cpuinfo


cat /proc/cpuinfo |grep 'core id'

查看CPU模擬線程


uptime :顯示系統總共運行了多長時間和系統的平均負載


2、vmstat命令

vmstat:顯示虛擬內存的狀態,語法爲vmstat (選項)(參數)

vmstat  1:每1秒鐘顯示一次狀態

vmstat 1 10:每1秒鐘顯示一次,執行10次自動結束

procs:進程相關的

memory:內存相關的

swap:與交換分區相關的

system:與系統相關的

io:硬盤相關的


vmstat各指標含義:

r :表示運行和等待cpu時間片的進程數,若是長期大於服務器cpu的個數,則說明cpu不夠用了;

b :表示等待資源的進程數,好比等待I/O, 內存等,這列的值若是長時間大於1,則須要關注一下了

si :由交換區進入內存的數量;

so :由內存進入交換區的數量;

bi :從塊設備讀取數據的量(讀磁盤);

bo: 從塊設備寫入數據的量(寫磁盤);

in :  每秒的中斷次數,包含時鐘中斷;

cs :  每秒的上下文切換次數;

wa :表示I/O等待所佔用cpu時間百分比.

us:cpu的百分比


3、top命令

用於動態監控進程所佔系統資源,每隔3秒變一次。

這個命令的特色是默認把佔用系統資源(CPU,內存,磁盤IO等)最高的進程放到最前面 

[root@linux2 ~]# top
top - 09:59:04 up 2 days, 19:55,  1 user,  load average: 0.00, 0.00, 0.00
Tasks:  75 total,   1 running,  74 sleeping,   0 stopped,   0 zombie
Cpu(s):  0.0%us,  0.1%sy,  0.0%ni, 99.7%id,  0.1%wa,  0.0%hi,  0.1%si,  0.0%st
Mem:   1012568k total,   346700k used,   665868k free,    40664k buffers
Swap:  4194300k total,        0k used,  4194300k free,   199948k cached
  PID USER      PR  NI  VIRT  RES  SHR S %CPU %MEM    TIME+  COMMAND                                                           
 4552 root      20   0 15036 1132  868 R  1.9  0.1   0:00.02 top                                                                
    1 root      20   0 19232 1508 1216 S  0.0  0.1   0:03.01 init                                                               
    2 root      20   0     0    0    0 S  0.0  0.0   0:00.01 kthreadd                                                           
    3 root      RT   0     0    0    0 S  0.0  0.0   0:00.00 migration/0                                                        
    4 root      20   0     0    0    0 S  0.0  0.0   0:01.73 ksoftirqd/0

   

RES:這一項爲進程所佔內存大小,

%CPU:進程佔用CPU的大小或者說是百分比

%MEM:爲使用內存百分比。在 top狀態下,按 「shift + m」, 能夠按照內存使用大小排序。

按數字 ‘1’ 能夠列出各顆cpu的使用狀態。  

top -bn1 :表示非動態打印系統資源使用狀況,能夠用在shell腳本中 

top -c :能夠顯示更詳細的信息

RT:實時優先級


4、 sar命令

系統默認沒有安裝這個命令,須要安裝

yum install -y sysstat


網卡流量 

sar -n DEV 1

檢查1秒鐘的網卡流量情況


sar -n DEV 1 10

檢查1秒鐘之類的流量情況,連續執行10次


sar -n DEV -f /var/log/sa/sa24 

查看第24天的網卡流量歷史


查看歷史負載  sar -q

查看磁盤讀寫  sar -b


5、free命令

free查看系統內存使用狀況

free以k爲單位顯示 

free -m以M爲單位  

free -g以G爲單位 

mem(total):內存總數;

mem(used):已經分配的內存;

mem(free):未分配的內存;

mem(buffers):系統分配但未被使用的buffers;

mem(cached)系統分配但未被使用的cache

buffers/cache(used):實際使用的buffers與cache 總量,也是實際使用的內存; buffers/cache(free):未被使用的buffers與cache和未被分配的內存之和,這就是系統當前實際可用內                     存 

buffers是即將要被寫入磁盤的,cache是被從磁盤中讀出來的 


6、ps 查看系統進程 

ps aux / ps -elf

ps aux:列出系統的全部進程

ps -l:只顯示當前用戶下運行在前臺的進程

PID :進程的id,這個id頗有用,在linux中內核管理進程就得靠pid來識別和管理某一個程,好比我想終止某一個進程,則用 ‘kill  進程的pid’ 有時並不能殺掉,則須要加一個-9選項了 kill  -9  進程pid

STAT :表示進程的狀態,進程狀態分爲如下幾種

D 不能中斷的進程(一般爲IO)

R 正在運行中的進程

S 已經中斷的進程,系統中大部分進程都是這個狀態

T 已經中止或者暫停的進程,若是咱們正在運行一個命令,好比說 sleep 10 若是咱們按一下ctrl -z     讓他暫停,那麼咱們用ps查看就會顯示T這個狀態

X 已經死掉的進程(這個歷來不會出現)

Z 殭屍進程,殺不掉,打不死的垃圾進程,佔系統一小點資源,不過沒有關係。若是太多,就有問題     了。

< 高優先級進程

N 低優先級進程

L 在內存中被鎖了內存分頁

s 主進程

l 多線程進程

+ 在前臺的進程


pstree 樹形顯示全部進程


netstat 查看網絡情況 

netstat -lnp  查看當前系統開啓的端口以及socket

netstat -an  查看當前系統全部的鏈接

相關文章
相關標籤/搜索