在以前使用windows系統(tǒng)的時(shí)候,常常會(huì)遇到系統(tǒng)變卡,然后我們就會(huì)使用快捷鍵 ctrl+shift+ESC 來調(diào)出windows的任務(wù)管理器,我們可以看到當(dāng)前運(yùn)行的進(jìn)程,進(jìn)程所占的CPU資源,內(nèi)存資源等,還可以直接強(qiáng)制結(jié)束掉進(jìn)程。
我們?cè)谑褂胠inux的時(shí)候也同樣會(huì)出現(xiàn)這樣的問題,如果你遇到了,那么你就要學(xué)會(huì)這些linux查看系統(tǒng)資源的命令。
[toc]
下面我分為這么幾個(gè)角度分別說下這些命令的使用:
整機(jī)CPU內(nèi)存硬盤磁盤網(wǎng)絡(luò)I/Otop 命令
參數(shù)說明:
常用命令說明:
當(dāng)我們輸入top命令后我們可以看到:
其中有一行是白色的,白色中顯示的是字段名稱:
PID: 進(jìn)程id號(hào)
PPID:父進(jìn)程id號(hào)
UID:有效用戶id號(hào)
USER:有效用戶名
RUSER: 真實(shí)用戶名
TTY:終端設(shè)備
%CPU:計(jì)算資源
%MEN:內(nèi)存
%TIME+:CPU時(shí)間
VIRT:virtual memory usage 虛擬內(nèi)存
進(jìn)程“需要的”虛擬內(nèi)存大小,包括進(jìn)程使用的庫、代碼、數(shù)據(jù)等假如進(jìn)程申請(qǐng)100m的內(nèi)存,但實(shí)際只使用了10m,那么它會(huì)增長100m,而不是實(shí)際的使用量
RES:resident memory usage 常駐內(nèi)存
當(dāng)dll內(nèi)存被映射到進(jìn)程空間中,每個(gè)進(jìn)程都有自己的全局內(nèi)存拷貝,加載dll的每一個(gè)新的進(jìn)程都重新初始化這一內(nèi)存區(qū)域,也就是說進(jìn)程不能再共享dll。linkmap里有了每個(gè)目標(biāo)文件每個(gè)方法每個(gè)數(shù)據(jù)的占用大小數(shù)據(jù),所以只要寫個(gè)腳本,就可以統(tǒng)計(jì)出每個(gè).o最后的大小,屬于一個(gè).a靜態(tài)鏈接庫的.o加起來,就是這個(gè)庫在app里占用的空間大小。其中,targetworkingsetsize指的是預(yù)期降到的工作集大小,currentworkingset指的是進(jìn)程當(dāng)前的工作集(在chrome中,工作集的大小,包含私有的和可共享的兩部分內(nèi)存,而不包含已經(jīng)共享了的內(nèi)存空間…),lastworkingset,等于上一次的currentworkingset除以dampingfactor,默認(rèn)的dampingfactor為2。
SHR:shared memory 共享內(nèi)存
除了自身進(jìn)程的共享內(nèi)存,也包括其他進(jìn)程的共享內(nèi)存雖然進(jìn)程只使用了幾個(gè)共享庫的函數(shù),但它包含了整個(gè)共享庫的大小計(jì)算某個(gè)進(jìn)程所占的物理內(nèi)存大小公式:RES – SHRswap out后,它將會(huì)降下來uptime 命令
簡化版top命令
從上面的參數(shù),top命令顯示的內(nèi)容,我們就可以看到很多的參數(shù),也是特別詳細(xì)的,但是我們可能有時(shí)候就只是想了解一些簡單的信息,這時(shí)候我們就可以使用uptime這個(gè)命令了。
root@VM-0-4-ubuntu:~# uptime
15:17:22 up 171 days, 16:56, 1 user, load average: 0.00, 0.02, 0.02
參數(shù)
vmstat 命令
vmstat命令可以查看很多信息,包括服務(wù)器的CPU使用率,內(nèi)存使用,虛擬內(nèi)存交換情況,IO讀寫情況。但是我們一般使用vmstat命令一般常用來查看cpu的情況。
參數(shù)
每2秒采集一次每次采集
25. 設(shè)置swap文件中的page數(shù)量,由于頁表(一種表示頁面空閑或使用的bitmap)是在放在內(nèi)存中的,,在磁盤上每8個(gè)pages將消耗1byte的內(nèi)存。設(shè)置swap文件中的page數(shù)量,由于頁表(一種表示頁面空閑或使用的bitmap)是在放在內(nèi)存中的,在磁盤上每8個(gè)pages將消耗1byte的內(nèi)存。iops:剛才提到數(shù)據(jù)從磁盤讀取到內(nèi)存,或者數(shù)據(jù)從內(nèi)存寫到磁盤都需要消耗io,而磁盤的io能力是有一定,比如新1型提供的iops為150個(gè),也就是每秒能夠提供150次的隨機(jī)磁盤io操作,所以如果用戶的數(shù)據(jù)量很大,內(nèi)存很小,而寫入,更新linux常用命令,刪除,查詢的壓力很大,由于iops的限制,對(duì)于數(shù)據(jù)庫來說就是一條sql需要執(zhí)行很長的時(shí)間才能返回結(jié)果,對(duì)于應(yīng)用來說就會(huì)造成整體響應(yīng)的變慢。