用 'top -i' 看看有多少進程處于 Running 狀態(tài),可能系統(tǒng)存在內(nèi)存或 I/O 瓶頸,用 free 看看系統(tǒng)內(nèi)存使用情況,swap 是否被占用很多,用 iostat 看看 I/O 負載情況...
vector容器用以支持強占式短進程優(yōu)先調(diào)度算法的實現(xiàn),存儲所有在當前時間點已經(jīng)到達的進程信息,并每次存入新的進程信息時便對此vector中元素進行排序,其排序要求按預計運行的時間長短,即預計運行時間較短的進程排在預計運行時間較長的進程前面。 通俗的講程序是一個包含可以執(zhí)行代碼的文件,是一個靜態(tài)的文件.而進程是一個開始執(zhí)行但是還沒有結(jié)束的程序的實例.就是可執(zhí)行文件的具體實現(xiàn). 一個程序可能有許多進程,而每一個進程又可以有許多子進程.依次循環(huán)下去,而產(chǎn)生子孫進程. 當程序被系統(tǒng)調(diào)用到內(nèi)存以后,系統(tǒng)會給程序分配一定的資源(內(nèi)存,設備等等)然后進行一系列的復雜操作,使程序變成進程以供系統(tǒng)調(diào)用.在系統(tǒng)里面只有進程沒有程序,為了區(qū)分各個不同的進程,系統(tǒng)給每一個進程分配了一個id(就象我們的身份證)以便識別. 為了充分的利用資源,系統(tǒng)還對進程區(qū)分了不同的狀態(tài).將進程分為新建,運行,阻塞,就緒和完成五個狀態(tài). 新建表示進程正在被創(chuàng)建,運行是進程正在運行,阻塞是進程正在等待某一個事件發(fā)生,就緒是表示系統(tǒng)正在等待cpu來執(zhí)行命令,而完成表示進程已經(jīng)結(jié)束了系統(tǒng)正在回收資源. 關于進程五個狀態(tài)的詳細解說我們可以看《操作系統(tǒng)》上面有詳細的解說。并將此進程和所有其他新到達進程都插入vector之中進行排序(排序按預計運行時間短在前長居后),刪除新到達的進程在pqeuee隊列中的信息取pqueue隊列的隊首元素取vector第一個元素模擬運行取出vector中的第一個元素進入模擬運行狀態(tài)。
top:
主要參數(shù) :
d:指定更新的間隔,以秒計算。
q:沒有任何延遲的更新。如果使用者有超級用戶,則top命令將會以最高的優(yōu)先序執(zhí)行。
c:顯示進程完整的路徑與名稱。
S:累積模式,會將己完成或消失的子行程的CPU時間累積起來。
s:安全模式。
i:不顯示任何閑置(Idle)或無用(Zombie)的行程。
n:顯示更新的次數(shù),完成后將會退出to
**顯示參數(shù)::**
PID(Process ID):進程標示號。
USER:進程所有者的用戶名。
PR:進程的優(yōu)先級別。
NI:進程的優(yōu)先級別數(shù)值。
VIRT:進程占用的虛擬內(nèi)存值。
RES:進程占用的物理內(nèi)存值。
SHR:進程使用的共享內(nèi)存值。
S:進程的狀態(tài),其中S表示休眠,R表示正在運行,Z表示僵死狀態(tài),N表示該進程優(yōu)先值是負數(shù)。
%CPU:該進程占用的CPU使用率。
%MEM:該進程占用的物理內(nèi)存和總內(nèi)存的百分比。
TIME+:該進程啟動后占用的總的CPU時間。
Command:進程啟動的啟動命令名稱,如果這一行顯示不下,進程會有一個完整的命令行。
top命令使用過程中,還可以使用一些交互的命令來完成其它參數(shù)的功能。這些命令是通過快捷鍵啟動的。
<空格>:立刻刷新。
P:根據(jù)CPU使用大小進行排序。
T:根據(jù)時間、累計時間排序。
q:退出top命令。
m:切換顯示內(nèi)存信息。
t:切換顯示進程和CPU狀態(tài)信息。
c:切換顯示命令名稱和完整命令行。
M:根據(jù)使用內(nèi)存大小進行排序。
W:將當前設置寫入~/.toprc文件中。這是寫top配置文件的推薦方法。
free
1.作用
free命令用來顯示內(nèi)存的使用情況,使用權限是所有用戶。
**2.格式 **
free [-b-k-m] [-o] [-s delay] [-t] [-V]