天天看點

linux系統日常管理的指令

1、監控系統的負載 

w    檢視目前系統的負載,詳細顯示主機運作時間,登入使用者數,系統平均負載資訊;

uptime    檢視目前系統的負載和主機運作時間,簡單顯示;

<a href="http://s3.51cto.com/wyfs02/M00/6B/7E/wKioL1UvYZHigOXsAAHnOr2DkLM806.jpg" target="_blank"></a>

顯示說明:

17:30:02    //系統目前時間; 

up  8:06    //主機已運作時間,時間越大,說明機器越穩定。

3 users    //使用者連接配接數(是總的連接配接數,不是使用者數)

load average: 0.05, 0.08, 0.02    //系統平均負載,統計最近1,5,15分鐘内系統的平均負載;

第二行開始以及下面所有的行,記錄目前登入的使用者,從哪裡登入,登入的時間等等;

重點需要關注load average:指在特定時間間隔内運作隊列中的平均程序數。  

第一個數值表示1分鐘内系統的平均負載值;第二個數值表示5分鐘内系統的平均負載值;第三個數值表示15分鐘系統的平均負載值。這個值的意義是,機關時間段内CPU活動程序數。這個值越大就說明你的伺服器壓力越大。一般情況下這個值隻要不超過伺服器的cpu數量就沒有關系,如果伺服器cpu數量為8,那麼這個值若小于8,就說明目前伺服器沒有壓力,否則就要關注一下了。

cat /proc/cpuinfo    檢視cpu的個數和核數 

processor    線程數,從0開始(比如8線程為0-7)

core id        核心數

1

2

3

4

<code>[root@yonglinux ~]</code><code># cat /proc/cpuinfo |grep -c 'processor'</code>

<code>1</code>

<code>[root@yonglinux ~]</code><code># cat /proc/cpuinfo |grep -c 'core id'</code>

<a href="http://s3.51cto.com/wyfs02/M02/6B/83/wKiom1UvYq2iwMsKAAGN55mKEYs149.jpg" target="_blank"></a>

2、監控系統程序狀态 – top

用于動态監控程序所占系統資源,每隔3秒變一次。 

Tasks    任務,類似于windows的程序;

running    正在運作的程序;

sleeping    休眠的程序;

stopped    暫停或停止的程序;

zombie    僵屍程序;

RES    這一項為程序所占記憶體大小;

%MEM    為使用記憶體百分比。

在 top狀态下,預設按cpu的使用率大小排列,按 “shift + m”, 可以按照記憶體使用大小排序。按數字 ‘1’ 可以列出各顆cpu的使用狀态。

top -bn1    表示非動态列印系統資源使用情況,可以用在shell腳本中。

top -c    動态顯示,最右側的指令可以顯示更詳細的資訊。

3、實時監控系統狀态    vmstat

vmstat    監控一次

vmstat  1    實時監控,1秒重新整理一次,按ctrl+c退出;

vmstat 1 10    隻監控10次;

<a href="http://s3.51cto.com/wyfs02/M02/6B/83/wKiom1UvYvjgINMyAAD6OjLz0a8238.jpg" target="_blank"></a>

vmstat各名額含義:

r :表示運作和等待cpu時間片的程序數,如果長期大于伺服器cpu的個數,則說明cpu不夠用了;

b :表示等待資源的程序數,比如等待I/O, 記憶體等,這列的值如果長時間大于1,則需要關注一下了

si :由交換區進入記憶體的數量;

so :由記憶體進入交換區的數量;

bi :從塊裝置讀取資料的量(讀磁盤);

bo: 從塊裝置寫入資料的量(寫磁盤);

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

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

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

4、檢視系統記憶體使用情況    free

<a href="http://s3.51cto.com/wyfs02/M02/6B/83/wKiom1UvYyPCU80RAAEARcvt1v0651.jpg" target="_blank"></a>

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和未被配置設定的記憶體之和,這就是系統目前實際可用記憶體;(如圖所示,free+buffers+cached的總和為目前可用的實際記憶體)

buffers(緩沖區)是即将要被寫入磁盤的,cache(緩存)是被從磁盤中讀出來的;

5、檢視系統程序    ps

ps aux   或     ps -elf    詳細顯示目前系統的所有程序狀态

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    僵屍程序,殺不掉,打不死的垃圾程序,占系統一小點資源,不過沒有關系。如果太多,就有問題了。

&lt;    高優先級程序

N    低優先級程序

L    在記憶體中被鎖了記憶體分頁

s    主程序

l    多線程程序

+    在前台的程序

pstree    樹形顯示所有程序

<a href="http://s3.51cto.com/wyfs02/M02/6B/83/wKiom1UvY3fxd6wUAAF6bi6FMrw145.jpg" target="_blank"></a>

6、監控網卡流量、曆史負載    sar

安裝sar的指令:yum install -y sysstat

sar -n DEV        檢視網卡流量 

sar -n DEV 1      實時監控網卡的流量,1秒重新整理一次,按ctrl+c退出;

sar -n DEV 1 10    檢視網卡的流量,1秒重新整理一次,檢視10次;

sar -n DEV -f /var/log/sa/sa16    檢視系統日志裡面儲存的網卡流量資訊,按照每天的日期命名;

檢視曆史負載  sar -q

檢視磁盤讀寫  sar -b

7、檢視網絡狀況    netstat 

netstat -lnp    檢視目前系統開啟的端口以及socket

netstat -an    檢視目前系統所有的連接配接

<a href="http://s3.51cto.com/wyfs02/M01/6B/7F/wKioL1UvZQSC99RMAAWcaoH7ZgY201.jpg" target="_blank"></a>

<a href="http://s3.51cto.com/wyfs02/M02/6B/7F/wKioL1UvZRizfyXcAAWBkzomft0076.jpg" target="_blank"></a>

本文轉自 模範生 51CTO部落格,原文連結:http://blog.51cto.com/mofansheng/1633403,如需轉載請自行聯系原作者

繼續閱讀