一、uptime
Uptime命令的顯示結(jié)果包括服務(wù)器已經(jīng)運(yùn)行了多長(zhǎng)時(shí)間,有多少登陸用戶和對(duì)服務(wù)器性能的總體評(píng)估(load average)。load average值分別記錄了上個(gè)1分鐘,5分鐘和15分鐘間隔的負(fù)載情況,load average不是一個(gè)百分比,而是在隊(duì)列中等待執(zhí)行的進(jìn)程的數(shù)量。如果進(jìn)程要求CPU時(shí)間被阻塞(意味著CPU沒(méi)有時(shí)間處理它),load average值將增加。另一方面,如果每個(gè)進(jìn)程都可以立刻得到訪問(wèn)CPU的時(shí)間,這個(gè)值將減少。
UP kernel下的load average的最佳值是1,這說(shuō)明每個(gè)進(jìn)程都可以立刻被CPU處理,當(dāng)然,更低不會(huì)有問(wèn)題,只說(shuō)明浪費(fèi)了一部分的資源。但在不同的系統(tǒng)間這個(gè)值也是不同的,例如一個(gè)單CPU的工作站,load average為1或者2都是可以接受的,而在一個(gè)多CPU的系統(tǒng)中這個(gè)值應(yīng)除以物理CPU的個(gè)數(shù),假設(shè)CPU個(gè)數(shù)為4,而load average為8或者10,那結(jié)果也是在2多點(diǎn)而已。
你可以使用uptime判斷一個(gè)性能問(wèn)題是出現(xiàn)在服務(wù)器上還是網(wǎng)絡(luò)上。例如,如果一個(gè)網(wǎng)絡(luò)應(yīng)用運(yùn)行性能不理想,運(yùn)行uptime檢查系統(tǒng)負(fù)載是否比較高,如果不是這個(gè)問(wèn)題更可能出現(xiàn)在你的網(wǎng)絡(luò)上。
二、top
Top命令顯示了實(shí)際CPU使用情況,默認(rèn)情況下,它顯示了服務(wù)器上占用CPU的任務(wù)信息并且每5秒鐘刷新一次。你可以通過(guò)多種方式分類它們,包括PID、時(shí)間和內(nèi)存使用情況。
下面是輸出值的介紹:
引用
PID:進(jìn)程標(biāo)識(shí)
USER;進(jìn)程所有者的用戶名
PRI:進(jìn)程的優(yōu)先級(jí)
NI:nice級(jí)別
SIZE:進(jìn)程占用的內(nèi)存數(shù)量(代碼+數(shù)據(jù)+堆棧)
RSS;進(jìn)程使用的物理內(nèi)存數(shù)量
SHARE;該進(jìn)程和其他進(jìn)程共享內(nèi)存的數(shù)量
STAT:進(jìn)程的狀態(tài):S=休眠狀態(tài),R=運(yùn)行狀態(tài),T=停止?fàn)顟B(tài),D=中斷休眠狀態(tài),Z=僵尸狀態(tài)
%CPU:共享的CPU使用
%MEM;共享的物理內(nèi)存
TIME:進(jìn)程占用CPU的時(shí)間
COMMAND:?jiǎn)?dòng)任務(wù)的命令行(包括參數(shù))
進(jìn)程的優(yōu)先級(jí)和nice級(jí)別
進(jìn)程優(yōu)先級(jí)是一個(gè)決定進(jìn)程被CPU執(zhí)行優(yōu)先順序的參數(shù),內(nèi)核會(huì)根據(jù)需要調(diào)整這個(gè)值。Nice值是一個(gè)對(duì)優(yōu)先權(quán)的限制。進(jìn)程優(yōu)先級(jí)的值不能低于nice值linux常用命令linux常用命令。(nice值越低優(yōu)先級(jí)越高)
示例:下列命令刪除啟動(dòng)管理器項(xiàng)中的 bootsequence 選項(xiàng):bcdedit /deletevalue {bootmgr} bootsequence下列命令刪除當(dāng)前操作系統(tǒng)啟動(dòng)項(xiàng)的 windows 預(yù)安裝環(huán)境值:bcdedit /deletevalue winpe下列命令刪除指定操作系統(tǒng)啟動(dòng)項(xiàng)的 windows pe 值:bcdedit /deletevalue {cbd971bf-b7b8。一般情況中,應(yīng)用層面的內(nèi)存從進(jìn)程堆中分配,當(dāng)進(jìn)程堆大小不夠時(shí),可以通過(guò)系統(tǒng)調(diào)用brk來(lái)改變堆的大小,但是在以下情況,一般由mmap系統(tǒng)調(diào)用來(lái)實(shí)現(xiàn)應(yīng)用層面的內(nèi)存分配:a、應(yīng)用需要分配大于1m的內(nèi)存,b、在沒(méi)有連續(xù)的內(nèi)存空間能滿足應(yīng)用所需大小的內(nèi)存時(shí)。linux給每一個(gè)進(jìn)程和輕量級(jí)進(jìn)程都分配一個(gè)pid,程序員希望向進(jìn)程發(fā)送信號(hào)時(shí),此信號(hào)可以影響進(jìn)程及進(jìn)程產(chǎn)生的輕量級(jí)進(jìn)程,因此產(chǎn)生了線程組(可以理解為輕量級(jí)進(jìn)程組)的概念,在線程組內(nèi),每個(gè)線程都使用此線程組內(nèi)第一個(gè)線程的pid,并將此值存入tgid。
以nice值-5開(kāi)始程序xyz
#nice –n -5 xyz
改變已經(jīng)運(yùn)行的程序的nice值
#renice level pid
將pid為2500的進(jìn)程的nice值改為10