1. 在系統(tǒng)維護(hù)的過(guò)程中,隨時(shí)可能有需要查看 CPU 使用率,并根據(jù)相應(yīng)信息分析系統(tǒng)狀況的需要。在 CentOS 中,可以通過(guò) top 命令來(lái)查看 CPU 使用狀況。運(yùn)行 top 命令后,CPU 使用狀態(tài)會(huì)以全屏的方式顯示,并且會(huì)處在對(duì)話(huà)的模式 -- 用基于 top 的命令,可以控制顯示方式等等。退出 top 的命令為 q (在 top 運(yùn)行中敲 q 鍵一次)。
讓客戶(hù)滿(mǎn)意是我們工作的目標(biāo),不斷超越客戶(hù)的期望值來(lái)自于我們對(duì)這個(gè)行業(yè)的熱愛(ài)。我們立志把好的技術(shù)通過(guò)有效、簡(jiǎn)單的方式提供給客戶(hù),將通過(guò)不懈努力成為客戶(hù)在信息化領(lǐng)域值得信任、有價(jià)值的長(zhǎng)期合作伙伴,公司提供的服務(wù)項(xiàng)目有:申請(qǐng)域名、雅安服務(wù)器托管、營(yíng)銷(xiāo)軟件、網(wǎng)站建設(shè)、鄂爾多斯網(wǎng)站維護(hù)、網(wǎng)站推廣。
top命令是Linux下常用的性能分析工具,能夠?qū)崟r(shí)顯示系統(tǒng)中各個(gè)進(jìn)程的資源占用狀況,類(lèi)似于Windows的任務(wù)管理器
可以直接使用top命令后,查看%MEM的內(nèi)容??梢赃x擇按進(jìn)程查看或者按用戶(hù)查看,如想查看oracle用戶(hù)的進(jìn)程內(nèi)存使用情況的話(huà)可以使用如下的命令:
$ top -u oracle
2. 釋義:
PID:進(jìn)程的ID
USER:進(jìn)程所有者
PR:進(jìn)程的優(yōu)先級(jí)別,越小越優(yōu)先被執(zhí)行
NInice:值
VIRT:進(jìn)程占用的虛擬內(nèi)存
RES:進(jìn)程占用的物理內(nèi)存
SHR:進(jìn)程使用的共享內(nèi)存
S:進(jìn)程的狀態(tài)。S表示休眠,R表示正在運(yùn)行,Z表示僵死狀態(tài),N表示該進(jìn)程優(yōu)先值為負(fù)數(shù)
%CPU:進(jìn)程占用CPU的使用率
%MEM:進(jìn)程使用的物理內(nèi)存和總內(nèi)存的百分比
TIME+:該進(jìn)程啟動(dòng)后占用的總的CPU時(shí)間,即占用CPU使用時(shí)間的累加值。
COMMAND:進(jìn)程啟動(dòng)命令名稱(chēng)
3.操作實(shí)例:
在命令行中輸入 “top”
即可啟動(dòng) top
top 的全屏對(duì)話(huà)模式可分為3部分:系統(tǒng)信息欄、命令輸入欄、進(jìn)程列表欄。
第一部分 -- 最上部的 系統(tǒng)信息欄 :
第一行(top):
“00:11:04”為系統(tǒng)當(dāng)前時(shí)刻;
“3:35”為系統(tǒng)啟動(dòng)后到現(xiàn)在的運(yùn)作時(shí)間;
“2 users”為當(dāng)前登錄到系統(tǒng)的用戶(hù),更確切的說(shuō)是登錄到用戶(hù)的終端數(shù) -- 同一個(gè)用戶(hù)同一時(shí)間對(duì)系統(tǒng)多個(gè)終端的連接將被視為多個(gè)用戶(hù)連接到系統(tǒng),這里的用戶(hù)數(shù)也將表現(xiàn)為終端的數(shù)目;
“l(fā)oad average”為當(dāng)前系統(tǒng)負(fù)載的平均值,后面的三個(gè)值分別為1分鐘前、5分鐘前、15分鐘前進(jìn)程的平均數(shù),一般的可以認(rèn)為這個(gè)數(shù)值超過(guò) CPU 數(shù)目時(shí),CPU 將比較吃力的負(fù)載當(dāng)前系統(tǒng)所包含的進(jìn)程;
第二行(Tasks):
“59 total”為當(dāng)前系統(tǒng)進(jìn)程總數(shù);
“1 running”為當(dāng)前運(yùn)行中的進(jìn)程數(shù);
“58 sleeping”為當(dāng)前處于等待狀態(tài)中的進(jìn)程數(shù);
“0 stoped”為被停止的系統(tǒng)進(jìn)程數(shù);
“0 zombie”為被復(fù)原的進(jìn)程數(shù);
第三行(Cpus):
分別表示了 CPU 當(dāng)前的使用率;
第四行(Mem):
分別表示了內(nèi)存總量、當(dāng)前使用量、空閑內(nèi)存量、以及緩沖使用中的內(nèi)存量;
第五行(Swap):
表示類(lèi)別同第四行(Mem),但此處反映著交換分區(qū)(Swap)的使用情況。通常,交換分區(qū)(Swap)被頻繁使用的情況,將被視作物理內(nèi)存不足而造成的。
第二部分 -- 中間部分的內(nèi)部命令提示欄:
top 運(yùn)行中可以通過(guò) top 的內(nèi)部命令對(duì)進(jìn)程的顯示方式進(jìn)行控制。內(nèi)部命令如下表:
s
- 改變畫(huà)面更新頻率
l - 關(guān)閉或開(kāi)啟第一部分第一行 top 信息的表示
t - 關(guān)閉或開(kāi)啟第一部分第二行 Tasks 和第三行 Cpus 信息的表示
m - 關(guān)閉或開(kāi)啟第一部分第四行 Mem 和 第五行 Swap 信息的表示
N - 以 PID 的大小的順序排列表示進(jìn)程列表(第三部分后述)
P - 以 CPU 占用率大小的順序排列進(jìn)程列表 (第三部分后述)
M - 以?xún)?nèi)存占用率大小的順序排列進(jìn)程列表 (第三部分后述)
h - 顯示幫助
n - 設(shè)置在進(jìn)程列表所顯示進(jìn)程的數(shù)量
q - 退出 top
s -
改變畫(huà)面更新周期
第三部分 -- 最下部分的進(jìn)程列表欄:
以 PID 區(qū)分的進(jìn)程列表將根據(jù)所設(shè)定的畫(huà)面更新時(shí)間定期的更新。通過(guò) top 內(nèi)部命令可以控制此處的顯示方式
pmap
可以根據(jù)進(jìn)程查看進(jìn)程相關(guān)信息占用的內(nèi)存情況,(進(jìn)程號(hào)可以通過(guò)ps查看)如下所示:
$ pmap -d 5647
ps
如下例所示:
$ ps -e -o 'pid,comm,args,pcpu,rsz,vsz,stime,user,uid' 其中rsz是是實(shí)際內(nèi)存
$ ps -e -o 'pid,comm,args,pcpu,rsz,vsz,stime,user,uid' | grep oracle | sort -nrk
其中rsz為實(shí)際內(nèi)存,上例實(shí)現(xiàn)按內(nèi)存排序,由大到小
在Linux下查看內(nèi)存我們一般用free命令:
[root@scs-2 tmp]# free
total used free shared buffers cached
Mem: 3266180 3250004 16176 0 110652 2668236
-/+ buffers/cache: 471116 2795064
Swap: 2048276 80160 1968116
下面是對(duì)這些數(shù)值的解釋?zhuān)?/p>
total:總計(jì)物理內(nèi)存的大小。
used:已使用多大。
free:可用有多少。
Shared:多個(gè)進(jìn)程共享的內(nèi)存總額。
Buffers/cached:磁盤(pán)緩存的大小。
第三行(-/+ buffers/cached):
used:已使用多大。
free:可用有多少。
第四行就不多解釋了。
區(qū)別:第二行(mem)的used/free與第三行(-/+ buffers/cache) used/free的區(qū)別。 這兩個(gè)的區(qū)別在于使用的角度來(lái)看,第一行是從OS的角度來(lái)看,因?yàn)閷?duì)于OS,buffers/cached 都是屬于被使用,所以他的可用內(nèi)存是16176KB,已用內(nèi)存是3250004KB,其中包括,內(nèi)核(OS)使用+Application(X, oracle,etc)使用的+buffers+cached.
第三行所指的是從應(yīng)用程序角度來(lái)看,對(duì)于應(yīng)用程序來(lái)說(shuō),buffers/cached 是等于可用的,因?yàn)閎uffer/cached是為了提高文件讀取的性能,當(dāng)應(yīng)用程序需在用到內(nèi)存的時(shí)候,buffer/cached會(huì)很快地被回收。
所以從應(yīng)用程序的角度來(lái)說(shuō),可用內(nèi)存=系統(tǒng)free memory+buffers+cached。
如上例:
2795064=16176+110652+2668236
接下來(lái)解釋什么時(shí)候內(nèi)存會(huì)被交換,以及按什么方交換。 當(dāng)可用內(nèi)存少于額定值的時(shí)候,就會(huì)開(kāi)會(huì)進(jìn)行交換。
如何看額定值:
cat /proc/meminfo
[root@scs-2 tmp]# cat /proc/meminfo
MemTotal: 3266180 kB
MemFree: 17456 kB
Buffers: 111328 kB
Cached: 2664024 kB
SwapCached: 0 kB
Active: 467236 kB
Inactive: 2644928 kB
HighTotal: 0 kB
HighFree: 0 kB
LowTotal: 3266180 kB
LowFree: 17456 kB
SwapTotal: 2048276 kB
SwapFree: 1968116 kB
Dirty: 8 kB
Writeback: 0 kB
Mapped: 345360 kB
Slab: 112344 kB
Committed_AS: 535292 kB
PageTables: 2340 kB
VmallocTotal: 536870911 kB
VmallocUsed: 272696 kB
VmallocChunk: 536598175 kB
HugePages_Total: 0
HugePages_Free: 0
Hugepagesize: 2048 kB
用free -m查看的結(jié)果:
[root@scs-2 tmp]# free -m
total used free shared buffers cached
Mem: 3189 3173 16 0 107 2605
-/+ buffers/cache: 460 2729
Swap: 2000 78 1921
查看/proc/kcore文件的大小(內(nèi)存鏡像):
[root@scs-2 tmp]# ll -h /proc/kcore
-r-------- 1 root root 4.1G Jun 12 12:04 /proc/kcore
備注:
占用內(nèi)存的測(cè)量
測(cè)量一個(gè)進(jìn)程占用了多少內(nèi)存,linux為我們提供了一個(gè)很方便的方法,/proc目錄為我們提供了所有的信息,實(shí)際上top等工具也通過(guò)這里來(lái)獲取相應(yīng)的信息。
/proc/meminfo 機(jī)器的內(nèi)存使用信息
/proc/pid/maps pid為進(jìn)程號(hào),顯示當(dāng)前進(jìn)程所占用的虛擬地址。
/proc/pid/statm 進(jìn)程所占用的內(nèi)存
[root@localhost ~]# cat /proc/self/statm
654 57 44 0 0 334 0
輸出解釋
CPU 以及CPU0。。。的每行的每個(gè)參數(shù)意思(以第一行為例)為:
參數(shù) 解釋 /proc//status
Size (pages) 任務(wù)虛擬地址空間的大小 VmSize/4
Resident(pages) 應(yīng)用程序正在使用的物理內(nèi)存的大小 VmRSS/4
Shared(pages) 共享頁(yè)數(shù) 0
Trs(pages) 程序所擁有的可執(zhí)行虛擬內(nèi)存的大小 VmExe/4
Lrs(pages) 被映像到任務(wù)的虛擬內(nèi)存空間的庫(kù)的大小 VmLib/4
Drs(pages) 程序數(shù)據(jù)段和用戶(hù)態(tài)的棧的大小 (VmData+ VmStk )4
dt(pages) 04
查看機(jī)器可用內(nèi)存
/proc/28248/free
total used free shared buffers cached
Mem: 1023788 926400 97388 0 134668 503688
-/+ buffers/cache: 288044 735744
Swap: 1959920 89608 1870312
我們通過(guò)free命令查看機(jī)器空閑內(nèi)存時(shí),會(huì)發(fā)現(xiàn)free的值很小。這主要是因?yàn)?,在linux中有這么一種思想,內(nèi)存不用白不用,因此它盡可能的cache和buffer一些數(shù)據(jù),以方便下次使用。但實(shí)際上這些內(nèi)存也是可以立刻拿來(lái)使用的。
所以 空閑內(nèi)存=free+buffers+cached=total-used
top命令 是Linux下常用的性能 分析工具 ,能夠?qū)崟r(shí)顯示系統(tǒng) 中各個(gè)進(jìn)程的資源占用狀況,類(lèi)似于Windows的任務(wù)管理 器。下面詳細(xì)介紹它的使用方法。
top - 02:53:32 up 16 days, 6:34, 17 users, load average: 0.24, 0.21, 0.24
Tasks: 481 total, 3 running, 474 sleeping, 0 stopped, 4 zombie
Cpu(s): 10.3%us, 1.8%sy, 0.0%ni, 86.6%id, 0.5%wa, 0.2%hi, 0.6%si, 0.0%st
Mem: 4042764k total, 4001096k used, 41668k free, 383536k buffers
Swap: 2104472k total, 7900k used, 2096572k free, 1557040k cached
PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
32497 jacky 20 0 669m 222m 31m R 10 5.6 29:27.62 firefox
4788 yiuwing 20 0 257m 18m 13m S 5 0.5 5:42.44 konsole
5657 Liuxiaof 20 0 585m 159m 30m S 4 4.0 5:25.06 firefox
4455 xiefc 20 0 542m 124m 30m R 4 3.1 7:23.03 firefox
6188 Liuxiaof 20 0 191m 17m 13m S 4 0.5 0:01.16 konsole
統(tǒng)計(jì)信息區(qū)前五行是系統(tǒng)整體的統(tǒng)計(jì)信息。第一行是任務(wù)隊(duì)列信息,同 uptime 命令的執(zhí)行結(jié)果。其內(nèi)容如下:
01:06:48 當(dāng)前時(shí)間
up 1:22 系統(tǒng)運(yùn)行 時(shí)間,格式為時(shí):分
1 user 當(dāng)前登錄用戶(hù) 數(shù)
load average: 0.06, 0.60, 0.48 系統(tǒng)負(fù)載 ,即任務(wù)隊(duì)列的平均長(zhǎng)度。
三個(gè)數(shù)值分別為 1分鐘、5分鐘、15分鐘前到現(xiàn)在的平均值。
第二、三行為進(jìn)程和CPU的信息。當(dāng)有多個(gè)CPU時(shí),這些內(nèi)容可能會(huì)超過(guò)兩行。內(nèi)容如下:
Tasks: 29 total 進(jìn)程總數(shù)
1 running 正在運(yùn)行的進(jìn)程數(shù)
28 sleeping 睡眠的進(jìn)程數(shù)
0 stopped 停止的進(jìn)程數(shù)
0 zombie 僵尸進(jìn)程數(shù)
Cpu(s): 0.3% us 用戶(hù)空間占用CPU百分比
1.0% sy 內(nèi)核 空間占用CPU百分比
0.0% ni 用戶(hù)進(jìn)程空間內(nèi)改變過(guò)優(yōu)先級(jí)的進(jìn)程占用CPU百分比
98.7% id 空閑CPU百分比
0.0% wa 等待輸入輸出的CPU時(shí)間百分比
0.0% hi
0.0% si
最后兩行為內(nèi)存 信息。內(nèi)容如下:
Mem: 191272k total 物理內(nèi)存總量
173656k used 使用的物理內(nèi)存總量
17616k free 空閑內(nèi)存總量
22052k buffers 用作內(nèi)核緩存 的內(nèi)存量
Swap: 192772k total 交換區(qū)總量
0k used 使用的交換區(qū)總量
192772k free 空閑交換區(qū)總量
123988k cached 緩沖的交換區(qū)總量。
內(nèi)存中的內(nèi)容被換出到交換區(qū),而后又被換入到內(nèi)存,但使用過(guò)的交換區(qū)尚未被覆蓋,
該數(shù)值即為這些內(nèi)容已存在于內(nèi)存中 的交換區(qū)的大小。
相應(yīng)的內(nèi)存再次被換出時(shí)可不必再對(duì)交換區(qū)寫(xiě)入。
進(jìn)程信息區(qū)統(tǒng)計(jì)信息區(qū)域的下方顯示了各個(gè)進(jìn)程的詳細(xì)信息。首先來(lái)認(rèn)識(shí)一下各列的含義。
序號(hào) 列名 含義
a PID 進(jìn)程id
b PPID 父進(jìn)程id
c RUSER Real user name
d UID 進(jìn)程所有者的用戶(hù)id
e USER 進(jìn)程所有者的用戶(hù)名
f GROUP 進(jìn)程所有者的組名
g TTY 啟動(dòng)進(jìn)程的終端名。不是從終端啟動(dòng)的進(jìn)程則顯示為 ?
h PR 優(yōu)先級(jí)
i NI nice值。負(fù)值表示高優(yōu)先級(jí),正值表示低優(yōu)先級(jí)
j P 最后使用的CPU,僅在多CPU環(huán)境 下有意義
k %CPU 上次更新到現(xiàn)在的CPU時(shí)間占用百分比
l TIME 進(jìn)程使用的CPU時(shí)間總計(jì),單位秒
m TIME+ 進(jìn)程使用的CPU時(shí)間總計(jì),單位1/100秒
n %MEM 進(jìn)程使用的物理內(nèi)存 百分比
o VIRT 進(jìn)程使用的虛擬內(nèi)存總量,單位kb。VIRT=SWAP+RES
p SWAP 進(jìn)程使用的虛擬內(nèi)存中,被換出的大小,單位kb。
q RES 進(jìn)程使用的、未被換出的物理內(nèi)存大小,單位kb。RES=CODE+DATA
r CODE 可執(zhí)行代碼占用的物理 內(nèi)存大小,單位kb
s DATA 可執(zhí)行代碼以外的部分(數(shù)據(jù) 段+棧)占用的物理 內(nèi)存大小,單位kb
t SHR 共享內(nèi)存大小,單位kb
u nFLT 頁(yè)面錯(cuò)誤次數(shù)
v nDRT 最后一次寫(xiě)入到現(xiàn)在,被修改過(guò)的頁(yè)面數(shù)。
w S 進(jìn)程狀態(tài)。
D =不可中斷的睡眠狀態(tài)
R =運(yùn)行
S =睡眠
T =跟蹤/停止
Z =僵尸進(jìn)程
x COMMAND 命令名/命令行
y WCHAN 若該進(jìn)程在睡眠,則顯示睡眠中的系統(tǒng)函數(shù)名
z Flags 任務(wù)標(biāo)志,參考 sched.h
默認(rèn)情況下僅顯示比較重要的 PID、USER、PR、NI、VIRT、RES、SHR、S、%CPU、%MEM、TIME+、COMMAND 列??梢酝ㄟ^(guò)下面的快捷鍵來(lái)更改顯示內(nèi)容。
更改顯示內(nèi)容通過(guò) f 鍵可以選擇顯示的內(nèi)容。按 f 鍵之后會(huì)顯示列的列表,按 a-z 即可顯示或隱藏對(duì)應(yīng)的列,最后按回車(chē)鍵確定。
按 o 鍵可以改變列的顯示順序。按小寫(xiě)的 a-z 可以將相應(yīng)的列向右移動(dòng),而大寫(xiě)的 A-Z 可以將相應(yīng)的列向左移動(dòng)。最后按回車(chē)鍵確定。
按大寫(xiě)的 F 或 O 鍵,然后按 a-z 可以將進(jìn)程按照相應(yīng)的列進(jìn)行排序。而大寫(xiě)的 R 鍵可以將當(dāng)前的排序倒轉(zhuǎn)。
==============================
top命令使用過(guò)程中,還可以使用一些交互的命令來(lái)完成其它參數(shù)的功能。這些命令是通過(guò)快捷鍵啟動(dòng)的。
<空格>:立刻刷新。
P:根據(jù)CPU使用大小進(jìn)行排序。
T:根據(jù)時(shí)間、累計(jì)時(shí)間排序。
q:退出top命令。
m:切換顯示內(nèi)存信息。
t:切換顯示進(jìn)程和CPU狀態(tài)信息。
c:切換顯示命令名稱(chēng)和完整命令行。
M:根據(jù)使用內(nèi)存大小進(jìn)行排序。
W:將當(dāng)前設(shè)置寫(xiě)入~/.toprc文件中。這是寫(xiě)top配置文件的推薦方法。
可以看到,top命令是一個(gè)功能十分強(qiáng)大的監(jiān)控系統(tǒng)的工具,對(duì)于系統(tǒng)管理員而言尤其重要。但是,它的缺點(diǎn)是會(huì)消耗很多系統(tǒng)資源。
應(yīng)用實(shí)例
使用top命令可以監(jiān)視指定用戶(hù),缺省情況是監(jiān)視所有用戶(hù)的進(jìn)程。如果想查看指定用戶(hù)的情況,在終端中按“U”鍵,然后輸入用戶(hù)名,系統(tǒng)就會(huì)切換為指定用戶(hù)的進(jìn)程運(yùn)行界面。
a.作用
free命令用來(lái)顯示內(nèi)存的使用情況,使用權(quán)限是所有用戶(hù)。
b.格式
free [-b?。璳?。璵] [-o] [-s delay] [-t] [-V]
c.主要參數(shù)
-b -k -m:分別以字節(jié)(KB、MB)為單位顯示內(nèi)存使用情況。
-s delay:顯示每隔多少秒數(shù)來(lái)顯示一次內(nèi)存使用情況。
-t:顯示內(nèi)存總和列。
-o:不顯示緩沖區(qū)調(diào)節(jié)列。
d.應(yīng)用實(shí)
linux查看cpu核數(shù)和內(nèi)存大小命令分別為:
1、查看CPU個(gè)數(shù)*核心數(shù):
cat /proc/cpuinfo |?grep?“physical id” | uniq | wc -l
96 #一共96核
2、查看內(nèi)存總數(shù)
#cat /proc/meminfo | grep MemTotal
MemTotal: 230993600 kB
Linux下查看CPU型號(hào),內(nèi)存大小,硬盤(pán)空間的命令:
1、查看CPU核數(shù)
cat /proc/cpuinfo | grep “cpu cores” | uniq
cpu cores : 12 #12是單顆CPU的核心數(shù)
2、查看CPU型號(hào)
cat /proc/cpuinfo | grep ‘model name’ |uniq
model name : Intel? Xeon? CPU E7-4830 v3 @ 2.10GHz
3、查看linux物理內(nèi)存數(shù)量及大小
dmidecode -t memory | grep Size: | grep -v “No Module Installed”
用 'top -i' 看看有多少進(jìn)程處于 Running 狀態(tài),可能系統(tǒng)存在內(nèi)存或 I/O 瓶頸,用 free 看看系統(tǒng)內(nèi)存使用情況,swap 是否被占用很多,用 iostat 看看 I/O 負(fù)載情況...
還有一種辦法是 ps -ef | sort -k7 ,將進(jìn)程按運(yùn)行時(shí)間排序,看哪個(gè)進(jìn)程消耗的cpu時(shí)間最多。
top:
主要參數(shù) :
free
1.作用
free命令用來(lái)顯示內(nèi)存的使用情況,使用權(quán)限是所有用戶(hù)。
**2.格式 **
**3.主要參數(shù) **
uptime
vmstat
**1 觀(guān)察磁盤(pán)活動(dòng)情況 **
磁盤(pán)活動(dòng)情況主要從以下幾個(gè)指標(biāo)了解:
**2 觀(guān)察cpu活動(dòng)情況 **
vmstat比top更能反映出cpu的使用情況:
iostat
用于統(tǒng)計(jì)CPU的使用情況及tty設(shè)備、硬盤(pán)和CD-ROM的I/0量
即使爬到最高的山上,一次也只能腳踏實(shí)地地邁一步。
Linux查看CPU和內(nèi)存使用情況:
在做Linux系統(tǒng)優(yōu)化的時(shí)候,物理內(nèi)存是其中最重要的一方面。自然的,Linux也提供了非常多的方法來(lái)監(jiān)控寶貴的內(nèi)存資源的使用情況。下面的清單詳細(xì)的列出了Linux系統(tǒng)下通過(guò)視圖工具或命令行來(lái)查看內(nèi)存使用情況的各種方法。
1. /proc/meminfo
查看RAM使用情況最簡(jiǎn)單的方法是通過(guò) /proc/meminfo 。這個(gè)動(dòng)態(tài)更新的虛擬文件實(shí)際上是許多其他內(nèi)存相關(guān)工具(如:free / ps / top)等的組合顯示。 /proc/meminfo 列出了所有你想了解的內(nèi)存的使用情況。進(jìn)程的內(nèi)存使用信息也可以通過(guò)/proc/pid/statm 和 /proc/pid/status 來(lái)查看。
atop命令是一個(gè)終端環(huán)境的監(jiān)控命令。它顯示的是各種系統(tǒng)資源(CPU, memory, network, I/O, kernel)的綜合,并且在高負(fù)載的情況下進(jìn)行了彩色標(biāo)注。
free命令是一個(gè)快速查看內(nèi)存使用情況的方法,它是對(duì) /proc/meminfo 收集到的信息的一個(gè)概述。
GNOME System Monitor 是一個(gè)顯示最近一段時(shí)間內(nèi)的CPU、內(nèi)存、交換區(qū)及網(wǎng)絡(luò)的使用情況的視圖工具。它還提供了一種查看CPU及內(nèi)存使用情況的方法。
htop命令顯示了每個(gè)進(jìn)程的內(nèi)存實(shí)時(shí)使用率。它提供了所有進(jìn)程的常駐內(nèi)存大小、程序總內(nèi)存大小、共享庫(kù)大小等的報(bào)告。列表可以水平及垂直滾動(dòng)。
功能同 4 中介紹的GENOME版本。
memstat是一個(gè)有效識(shí)別executable(s), process(es) and shared libraries使用虛擬內(nèi)存情況的命令。給定一個(gè)進(jìn)程ID,memstat可以列出這個(gè)進(jìn)程相關(guān)的可執(zhí)行文件、數(shù)據(jù)和共享庫(kù)。
nmon是一個(gè)基于ncurses的系統(tǒng)基準(zhǔn)測(cè)試工具,它可以監(jiān)控CPU、內(nèi)存、I/O、文件系統(tǒng)及網(wǎng)絡(luò)資源等的互動(dòng)模式。對(duì)于內(nèi)存的使用,它可以實(shí)時(shí)的顯示 總/剩余內(nèi)存、交換空間等信息。
ps命令可以實(shí)時(shí)的顯示各個(gè)進(jìn)程的內(nèi)存使用情況。Reported memory usage information includes %MEM (percent of physical memory used), VSZ (total amount of virtual memory used), and RSS (total amount of physical memory used)。你可以使用 “–sort”選項(xiàng)對(duì)進(jìn)程進(jìn)行排序,例如按RSS進(jìn)行排序:
smem命令允許你統(tǒng)計(jì)基于/proc信息的不同進(jìn)程和用戶(hù)的內(nèi)存使用情況。內(nèi)存使用情況的分析可以導(dǎo)出圖表(如條形圖和餅圖)。
top命令提供了實(shí)時(shí)的運(yùn)行中的程序的資源使用統(tǒng)計(jì)。你可以根據(jù)內(nèi)存的使用和大小來(lái)進(jìn)行排序。
vmstat命令顯示實(shí)時(shí)的和平均的統(tǒng)計(jì),覆蓋CPU、內(nèi)存、I/O等內(nèi)容。例如內(nèi)存情況,不僅顯示物理內(nèi)存,也統(tǒng)計(jì)虛擬內(nèi)存。
如何監(jiān)視Linux系統(tǒng)資源的使用情況
虛擬終端 命令 free
命令
可以用百度搜索
你值得擁有:25 個(gè) Linux 性能監(jiān)控工具
里面有一些其它的好工具。
命令、uptime、free
參看::wenku.baidu./link?url=kExcj6W2dhzD6d4UzUW1td4NoIyghYMp3IHo2D8-kNIl0RzwFlR6kahsL6peg8mNWZ6pLaLSwKsaU5PB96MPAoBVu7L_YXSztvNvIykFJ_C
Linux操作系統(tǒng)也會(huì)有鬧脾氣的時(shí)候。在某些情況下,其系統(tǒng)的資源使用率(包括CPU或者內(nèi)存),也會(huì)達(dá)到90%以上甚至更多。為此系統(tǒng)管理員在必要的時(shí)候,仍然需要監(jiān)視系統(tǒng)資源的使
雖然說(shuō)Linux操作系統(tǒng)要比Windows操作系統(tǒng)穩(wěn)定的多。但是這個(gè)穩(wěn)定是相對(duì)而言的。也就是說(shuō),Linux操作系統(tǒng)也會(huì)有鬧脾氣的時(shí)候。在某些情況下,其系統(tǒng)的資源使用率(包括CPU或者內(nèi)存),也會(huì)達(dá)到90%以上甚至更多。為此系統(tǒng)管理員在必要的時(shí)候,仍然需要監(jiān)視系統(tǒng)資源的使用情況。筆者今天就給大家介紹一下,在Linux操作系統(tǒng)下如何監(jiān)視這個(gè)系統(tǒng)資源,做到心中有數(shù)。
在Windows操作系統(tǒng)中,可以通過(guò)任務(wù)管理器來(lái)查詢(xún)各個(gè)進(jìn)程所占用的CPU與內(nèi)存的比率。在Linux操作系統(tǒng)中沒(méi)有這種圖形化的管理。在命令行模式下,鍵入命令,即可以看到各個(gè)進(jìn)程所占用的系統(tǒng)資源。
ppp作為一個(gè)合格的系統(tǒng)管理員,出于系統(tǒng)性能優(yōu)化或者其他方面的考慮,往往需要掌握系統(tǒng)中最消耗CPU或者內(nèi)存資源的程序。為了達(dá)到這個(gè)目的,系統(tǒng)管理員就需要借助系統(tǒng)提供的命令。這個(gè)命令可以幫助管理員監(jiān)控系統(tǒng)資源的使用情況,包括內(nèi)存、CPU、交換文件分區(qū)的使用率等等。就是這個(gè)命令的執(zhí)行結(jié)果。系統(tǒng)管理員想要提升操作系統(tǒng)的性能,第一步就是需要讀懂上面這張表格。如果這種圖中的內(nèi)容系統(tǒng)管理員無(wú)法看懂,那么他就想提升系統(tǒng)的性能根本無(wú)法入手。
Top命令的運(yùn)行結(jié)果大致可以分為兩個(gè)部分。上半部是使一些統(tǒng)計(jì)的信息,包括內(nèi)存和交換分區(qū)的使用情況、CPU的運(yùn)行情況、進(jìn)程的總數(shù)等等。在這些統(tǒng)計(jì)信息中,系統(tǒng)管理員除了要關(guān)注這些重要資源的使用濾外,還需要注意進(jìn)程運(yùn)行的狀態(tài)??梢?jiàn)在Linux系統(tǒng)中進(jìn)程的狀態(tài)主要有四種,分別為running、sleeping、sped和zombie。如果從系統(tǒng)維護(hù)與性能優(yōu)化考慮,則系統(tǒng)管理員需要關(guān)注那些狀態(tài)為zombie的進(jìn)程。若進(jìn)程處于這個(gè)狀態(tài),在Linux操作系統(tǒng)中叫做僵尸進(jìn)程。什么叫做僵尸進(jìn)程呢?就是那些父進(jìn)程還沒(méi)死、但是子進(jìn)程卻死了的進(jìn)程。在Linux操作系統(tǒng)中,進(jìn)程一般分為父進(jìn)程和子進(jìn)程。某個(gè)進(jìn)程A可能會(huì)調(diào)用另外一個(gè)進(jìn)程B。此時(shí)這個(gè)進(jìn)程A就叫做父進(jìn)程,而進(jìn)程B就叫做子進(jìn)程。由于一些意外的情況,子進(jìn)程運(yùn)行已經(jīng)停止,但是父進(jìn)程卻還不知道子進(jìn)程早已停止運(yùn)行,還在那邊傻傻的等待著子進(jìn)程返回運(yùn)行結(jié)果。由于子進(jìn)程沒(méi)有返回結(jié)果,則父進(jìn)程可能一直會(huì)在那邊等待。從而導(dǎo)致系統(tǒng)性能的下降。如果系統(tǒng)管理員發(fā)現(xiàn)有僵尸進(jìn)程的話(huà),首先要做的就是結(jié)束父進(jìn)程(有時(shí)候還需要查看這個(gè)父進(jìn)程打開(kāi)的其他子進(jìn)程運(yùn)行情況),以釋放其占用的系統(tǒng)資源。其次如果這種情況發(fā)生的比較頻繁時(shí),則系統(tǒng)管理員就需要分析到底是什么原因?qū)е逻@種情況發(fā)生的。找到原因后要采取積極的措施。通常情況下,如果子進(jìn)程的狀態(tài)為僵尸時(shí),父進(jìn)程就不會(huì)自動(dòng)結(jié)束,從而其占用的系統(tǒng)資源就不會(huì)自動(dòng)釋放,從而降低操作系統(tǒng)的性能。
二、Top命令的使用技巧。
1、 選擇合適的排序順序。
在Windows操作系統(tǒng)的任務(wù)管理器中,管理員可以根據(jù)需要選擇合適的排序順序,如按CPU排序或者按內(nèi)存的使用率進(jìn)行排序。而在命令的顯示結(jié)果中,默認(rèn)情況下是按照CPU的使用率來(lái)進(jìn)行排序的。如果現(xiàn)在系統(tǒng)管理員想按照內(nèi)存使用率來(lái)排序,該如何處理呢?如果要想改變命令結(jié)果的排序順序,則可以按m鍵來(lái)按內(nèi)存進(jìn)行排序。注意這里的m是小寫(xiě),而不是大寫(xiě)的。在Linux操作系統(tǒng)中大部分命令與參數(shù)大小寫(xiě)都是敏感的。這跟微軟操作系統(tǒng)中的DOS命令不同。Dos命令是不區(qū)分大小寫(xiě)的。雖然這個(gè)排序沒(méi)有像微軟操作系統(tǒng)中的任務(wù)管理器那么方便,只需要點(diǎn)點(diǎn)鼠標(biāo)就可以完成排序。但是只要熟悉相關(guān)的命令,在命令行中對(duì)其排序沒(méi)有大家想想的那么困難。
2、 監(jiān)視特定用戶(hù)使用的資源情況。
在Windows操作系統(tǒng)中,如果想要查看特定帳戶(hù)所打開(kāi)的進(jìn)程以及所耗用的系統(tǒng)資源,操作非常簡(jiǎn)單。只需要打開(kāi)系統(tǒng)任務(wù)管理器,然后按照用戶(hù)來(lái)進(jìn)行排序。就可以知道某個(gè)用戶(hù)開(kāi)啟了哪些進(jìn)程以及所占用的比例。而在命令中,沒(méi)有按帳戶(hù)進(jìn)行排序的功能。即在上面這個(gè)顯示結(jié)果中,只可以按照內(nèi)存使用率或者CPU負(fù)載來(lái)進(jìn)行排序,而無(wú)法按照用戶(hù)來(lái)進(jìn)行排序。在同一個(gè)結(jié)果中夾雜著系統(tǒng)特權(quán)用戶(hù)root與普通用戶(hù)所打開(kāi)的進(jìn)程。這對(duì)于系統(tǒng)管理員查找問(wèn)題原因非常的不方便。有時(shí)候系統(tǒng)管理員往往需要只查看特定用戶(hù)的進(jìn)程,如只需要查看oracle帳戶(hù)所打開(kāi)的進(jìn)程以及所占用的系統(tǒng)資源。而忽略掉系統(tǒng)帳戶(hù)。因?yàn)樘貦?quán)帳戶(hù)其他用戶(hù)無(wú)權(quán)進(jìn)行登陸操作,而其運(yùn)行的往往是一些系統(tǒng)級(jí)別的進(jìn)程,為此一般不會(huì)出現(xiàn)問(wèn)題。而普通用戶(hù)可以運(yùn)行一些應(yīng)用程序。有時(shí)候他們糊里糊涂可能會(huì)打開(kāi)一些非法程序,占用大量的系統(tǒng)資源,從而降低系統(tǒng)性能。廢話(huà)少說(shuō),如何才能夠查看特定帳戶(hù)所啟動(dòng)的進(jìn)程呢?其實(shí)很簡(jiǎn)單?,F(xiàn)運(yùn)行 命令,讓系統(tǒng)統(tǒng)計(jì)所有帳戶(hù)的進(jìn)程。然后在需要查看特定帳戶(hù)的進(jìn)程使,只需要按u鍵(注意小寫(xiě)),然后輸入用戶(hù)名即可。此時(shí)系統(tǒng)會(huì)自動(dòng)把其他帳戶(hù)的進(jìn)程過(guò)濾掉,方便系統(tǒng)管理員查看。按用戶(hù)過(guò)濾后,仍然可以按m鍵來(lái)對(duì)現(xiàn)實(shí)的結(jié)果進(jìn)行過(guò)濾。如果在一開(kāi)始就需要查看某個(gè)特定用戶(hù)的進(jìn)程,那么只需要直接在 命令后面加入-u可選項(xiàng)然后帶上具體的用戶(hù)名即可。但是,此時(shí)如果再想查看全部用戶(hù)的話(huà),那么只有先推出命令,然后再利用命令不帶任何選項(xiàng),來(lái)查看所有用戶(hù)的進(jìn)程。或者說(shuō),再在這個(gè)窗口中輸入字符u,然后直接按回車(chē)鍵,也可以顯示所用用戶(hù)的進(jìn)程信息。
3、動(dòng)態(tài)統(tǒng)計(jì)信息。
使用命令來(lái)統(tǒng)計(jì)進(jìn)程的運(yùn)行信息,跟微軟操作系統(tǒng)的任務(wù)管理器一樣,都是動(dòng)態(tài)調(diào)整的。也就是說(shuō),系統(tǒng)會(huì)每隔一段時(shí)間去統(tǒng)計(jì)這個(gè)信息,然后動(dòng)態(tài)的顯示在窗口中。不需要用戶(hù)手工去更新相關(guān)的信息。而且從上面的圖形中可以看出,命令統(tǒng)計(jì)的信息要比微軟任務(wù)管理器統(tǒng)計(jì)的信息要多的多。所以對(duì)系統(tǒng)管理員來(lái)說(shuō),具有更大的參考價(jià)值。筆者以前也很喜歡采用微軟操作系統(tǒng)的任務(wù)管理器。而了解了命令后,就對(duì)其鐘愛(ài)有加了。因?yàn)槠洳粌H可以完成任務(wù)管理器中的所有功能。而且命令中有的信息在微軟任務(wù)管理器中卻無(wú)法顯示。而這些信息往往對(duì)我們維護(hù)系統(tǒng)、提升性能具有很大的參考價(jià)值。
4、刪除有異常的進(jìn)程。
如果這個(gè)窗口中,發(fā)現(xiàn)某些進(jìn)程有異常或者用戶(hù)執(zhí)行了規(guī)定以外的應(yīng)用程序,如占用了太多的系統(tǒng)資源或者有僵尸進(jìn)程的存在,則可以直接在這個(gè)窗口中講其刪除。操作的方法很簡(jiǎn)單,只需要在這個(gè)窗口內(nèi)輸入字符p,然后系統(tǒng)會(huì)提示系統(tǒng)管理員輸入要關(guān)閉進(jìn)程的PID。管理員只需要鍵入這個(gè)值,然后按回車(chē)鍵就可以殺掉不需要的進(jìn)程。不過(guò)在關(guān)閉進(jìn)程的時(shí)候,有權(quán)限的限制。系統(tǒng)特權(quán)帳戶(hù)root可以關(guān)閉所有用戶(hù)的進(jìn)程。而普通帳戶(hù)則只能夠刪除自己打開(kāi)的程序,而無(wú)法關(guān)閉其他用戶(hù)的進(jìn)程。如現(xiàn)在系統(tǒng)管理員先以oracle用戶(hù)登錄,發(fā)現(xiàn)root帳戶(hù)下某個(gè)進(jìn)程異常,想要關(guān)閉時(shí),系統(tǒng)會(huì)提示無(wú)法關(guān)閉的錯(cuò)誤信息。此時(shí)管理員必須先終止這個(gè)進(jìn)程,然后利用su命令更改登陸的帳戶(hù)。然后再關(guān)閉這個(gè)異常的進(jìn)程。系統(tǒng)管理員可以同時(shí)關(guān)閉多個(gè)進(jìn)程。方法很簡(jiǎn)單,就是同時(shí)輸入多個(gè)需要關(guān)閉的進(jìn)程號(hào)。在各個(gè)進(jìn)程號(hào)之間需要利用逗號(hào)隔開(kāi)。
在系統(tǒng)維護(hù)中是一個(gè)很有用的命令。除了可以實(shí)現(xiàn)如上的功能外,還可以設(shè)置其動(dòng)態(tài)更新的時(shí)間間隔等等。不過(guò)需要注意的是,在不同版本的 Linux系統(tǒng)中其功能稍有差異,而且其顯示的布局與內(nèi)容也有所不同。為此當(dāng)系統(tǒng)管理員維護(hù)其不怎么熟悉的版本時(shí),有時(shí)候需要查看系統(tǒng)的幫助說(shuō)明。此時(shí)只需要在命令后面加上?號(hào)就可以獲得相關(guān)的幫助。這個(gè)聯(lián)機(jī)幫助文檔根命令一樣,都是系統(tǒng)管理員的好幫手。不過(guò)可惜的是,現(xiàn)在這些在線(xiàn)幫助文檔都是英文的。所以這對(duì)系統(tǒng)管理員的英文說(shuō)明要求比較高。
Linux系統(tǒng)下如何監(jiān)視系統(tǒng)資源使用率求解答
但是這個(gè)穩(wěn)定是相對(duì)而言的。也就是說(shuō),Linux操作系統(tǒng)也會(huì)有鬧脾氣的時(shí)候。在某些情況下,其系統(tǒng)的資源使用率(包括CPU或者內(nèi)存),也會(huì)達(dá)到90%以上甚至更多。為此系統(tǒng)管理員在必要的時(shí)候,仍然需要監(jiān)視系統(tǒng)資源的使
雖然說(shuō)Linux操作系統(tǒng)要比Windows操作系統(tǒng)穩(wěn)定的多。但是這個(gè)穩(wěn)定是相對(duì)而言的。也就是說(shuō),Linux操作系統(tǒng)也會(huì)有鬧脾氣的時(shí)候。在某些情況下,其系統(tǒng)的資源使用率(包括CPU或者內(nèi)存),也會(huì)達(dá)到90%以上甚至更多。為此系統(tǒng)管理員在必要的時(shí)候,仍然需要監(jiān)視系統(tǒng)資源的使用情況。筆者今天就給大家介紹一下,在Linux操作系統(tǒng)下如何監(jiān)視這個(gè)系統(tǒng)資源,做到心中有數(shù)。
在Windows操作系統(tǒng)中,可以通過(guò)任務(wù)管理器來(lái)查詢(xún)各個(gè)進(jìn)程所占用的CPU與內(nèi)存的比率。在Linux操作系統(tǒng)中沒(méi)有這種圖形化的管理。在命令行模式下,鍵入命令,即可以看到各個(gè)進(jìn)程所占用的系統(tǒng)資源。
ppp作為一個(gè)合格的系統(tǒng)管理員,出于系統(tǒng)性能優(yōu)化或者其他方面的考慮,往往需要掌握系統(tǒng)中最消耗CPU或者內(nèi)存資源的程序。為了達(dá)到這個(gè)目的,系統(tǒng)管理員就需要借助系統(tǒng)提供的命令。這個(gè)命令可以幫助管理員監(jiān)控系統(tǒng)資源的使用情況,包括內(nèi)存、CPU、交換文件分區(qū)的使用率等等。就是這個(gè)命令的執(zhí)行結(jié)果。系統(tǒng)管理員想要提升操作系統(tǒng)的性能,第一步就是需要讀懂上面這張表格。如果這種圖中的內(nèi)容系統(tǒng)管理員無(wú)法看懂,那么他就想提升系統(tǒng)的性能根本無(wú)法入手。
Top命令的運(yùn)行結(jié)果大致可以分為兩個(gè)部分。上半部是使一些統(tǒng)計(jì)的信息,包括內(nèi)存和交換分區(qū)的使用情況、CPU的運(yùn)行情況、進(jìn)程的總數(shù)等等。在這些統(tǒng)計(jì)信息中,系統(tǒng)管理員除了要關(guān)注這些重要資源的使用濾外,還需要注意進(jìn)程運(yùn)行的狀態(tài)。可見(jiàn)在Linux系統(tǒng)中進(jìn)程的狀態(tài)主要有四種,分別為running、sleeping、sped和zombie。如果從系統(tǒng)維護(hù)與性能優(yōu)化考慮,則系統(tǒng)管理員需要關(guān)注那些狀態(tài)為zombie的進(jìn)程。若進(jìn)程處于這個(gè)狀態(tài),在Linux操作系統(tǒng)中叫做僵尸進(jìn)程。什么叫做僵尸進(jìn)程呢?就是那些父進(jìn)程還沒(méi)死、但是子進(jìn)程卻死了的進(jìn)程。在Linux操作系統(tǒng)中,進(jìn)程一般分為父進(jìn)程和子進(jìn)程。某個(gè)進(jìn)程A可能會(huì)調(diào)用另外一個(gè)進(jìn)程B。此時(shí)這個(gè)進(jìn)程A就叫做父進(jìn)程,而進(jìn)程B就叫做子進(jìn)程。由于一些意外的情況,子進(jìn)程運(yùn)行已經(jīng)停止,但是父進(jìn)程卻還不知道子進(jìn)程早已停止運(yùn)行,還在那邊傻傻的等待著子進(jìn)程返回運(yùn)行結(jié)果。由于子進(jìn)程沒(méi)有返回結(jié)果,則父進(jìn)程可能一直會(huì)在那邊等待。從而導(dǎo)致系統(tǒng)性能的下降。如果系統(tǒng)管理員發(fā)現(xiàn)有僵尸進(jìn)程的話(huà),首先要做的就是結(jié)束父進(jìn)程(有時(shí)候還需要查看這個(gè)父進(jìn)程打開(kāi)的其他子進(jìn)程運(yùn)行情況),以釋放其占用的系統(tǒng)資源。其次如果這種情況發(fā)生的比較頻繁時(shí),則系統(tǒng)管理員就需要分析到底是什么原因?qū)е逻@種情況發(fā)生的。找到原因后要采取積極的措施。通常情況下,如果子進(jìn)程的狀態(tài)為僵尸時(shí),父進(jìn)程就不會(huì)自動(dòng)結(jié)束,從而其占用的系統(tǒng)資源就不會(huì)自動(dòng)釋放,從而降低操作系統(tǒng)的性能。
二、Top命令的使用技巧。
1、 選擇合適的排序順序。
在Windows操作系統(tǒng)的任務(wù)管理器中,管理員可以根據(jù)需要選擇合適的排序順序,如按CPU排序或者按內(nèi)存的使用率進(jìn)行排序。而在命令的顯示結(jié)果中,默認(rèn)情況下是按照CPU的使用率來(lái)進(jìn)行排序的。如果現(xiàn)在系統(tǒng)管理員想按照內(nèi)存使用率來(lái)排序,該如何處理呢?如果要想改變命令結(jié)果的排序順序,則可以按m鍵來(lái)按內(nèi)存進(jìn)行排序。注意這里的m是小寫(xiě),而不是大寫(xiě)的。在Linux操作系統(tǒng)中大部分命令與參數(shù)大小寫(xiě)都是敏感的。這跟微軟操作系統(tǒng)中的DOS命令不同。Dos命令是不區(qū)分大小寫(xiě)的。雖然這個(gè)排序沒(méi)有像微軟操作系統(tǒng)中的任務(wù)管理器那么方便,只需要點(diǎn)點(diǎn)鼠標(biāo)就可以完成排序。但是只要熟悉相關(guān)的命令,在命令行中對(duì)其排序沒(méi)有大家想想的那么困難。
2、 監(jiān)視特定用戶(hù)使用的資源情況。
在Windows操作系統(tǒng)中,如果想要查看特定帳戶(hù)所打開(kāi)的進(jìn)程以及所耗用的系統(tǒng)資源,操作非常簡(jiǎn)單。只需要打開(kāi)系統(tǒng)任務(wù)管理器,然后按照用戶(hù)來(lái)進(jìn)行排序。就可以知道某個(gè)用戶(hù)開(kāi)啟了哪些進(jìn)程以及所占用的比例。而在命令中,沒(méi)有按帳戶(hù)進(jìn)行排序的功能。即在上面這個(gè)顯示結(jié)果中,只可以按照內(nèi)存使用率或者CPU負(fù)載來(lái)進(jìn)行排序,而無(wú)法按照用戶(hù)來(lái)進(jìn)行排序。在同一個(gè)結(jié)果中夾雜著系統(tǒng)特權(quán)用戶(hù)root與普通用戶(hù)所打開(kāi)的進(jìn)程。這對(duì)于系統(tǒng)管理員查找問(wèn)題原因非常的不方便。有時(shí)候系統(tǒng)管理員往往需要只查看特定用戶(hù)的進(jìn)程,如只需要查看oracle帳戶(hù)所打開(kāi)的進(jìn)程以及所占用的系統(tǒng)資源。而忽略掉系統(tǒng)帳戶(hù)。因?yàn)樘貦?quán)帳戶(hù)其他用戶(hù)無(wú)權(quán)進(jìn)行登陸操作,而其運(yùn)行的往往是一些系統(tǒng)級(jí)別的進(jìn)程,為此一般不會(huì)出現(xiàn)問(wèn)題。而普通用戶(hù)可以運(yùn)行一些應(yīng)用程序。有時(shí)候他們糊里糊涂可能會(huì)打開(kāi)一些非法程序,占用大量的系統(tǒng)資源,從而降低系統(tǒng)性能。廢話(huà)少說(shuō),如何才能夠查看特定帳戶(hù)所啟動(dòng)的進(jìn)程呢?其實(shí)很簡(jiǎn)單?,F(xiàn)運(yùn)行 命令,讓系統(tǒng)統(tǒng)計(jì)所有帳戶(hù)的進(jìn)程。然后在需要查看特定帳戶(hù)的進(jìn)程使,只需要按u鍵(注意小寫(xiě)),然后輸入用戶(hù)名即可。此時(shí)系統(tǒng)會(huì)自動(dòng)把其他帳戶(hù)的進(jìn)程過(guò)濾掉,方便系統(tǒng)管理員查看。按用戶(hù)過(guò)濾后,仍然可以按m鍵來(lái)對(duì)現(xiàn)實(shí)的結(jié)果進(jìn)行過(guò)濾。如果在一開(kāi)始就需要查看某個(gè)特定用戶(hù)的進(jìn)程,那么只需要直接在 命令后面加入-u可選項(xiàng)然后帶上具體的用戶(hù)名即可。但是,此時(shí)如果再想查看全部用戶(hù)的話(huà),那么只有先推出命令,然后再利用命令不帶任何選項(xiàng),來(lái)查看所有用戶(hù)的進(jìn)程?;蛘哒f(shuō),再在這個(gè)窗口中輸入字符u,然后直接按回車(chē)鍵,也可以顯示所用用戶(hù)的進(jìn)程信息。
3、動(dòng)態(tài)統(tǒng)計(jì)信息。
使用命令來(lái)統(tǒng)計(jì)進(jìn)程的運(yùn)行信息,跟微軟操作系統(tǒng)的任務(wù)管理器一樣,都是動(dòng)態(tài)調(diào)整的。也就是說(shuō),系統(tǒng)會(huì)每隔一段時(shí)間去統(tǒng)計(jì)這個(gè)信息,然后動(dòng)態(tài)的顯示在窗口中。不需要用戶(hù)手工去更新相關(guān)的信息。而且從上面的圖形中可以看出,命令統(tǒng)計(jì)的信息要比微軟任務(wù)管理器統(tǒng)計(jì)的信息要多的多。所以對(duì)系統(tǒng)管理員來(lái)說(shuō),具有更大的參考價(jià)值。筆者以前也很喜歡采用微軟操作系統(tǒng)的任務(wù)管理器。而了解了命令后,就對(duì)其鐘愛(ài)有加了。因?yàn)槠洳粌H可以完成任務(wù)管理器中的所有功能。而且命令中有的信息在微軟任務(wù)管理器中卻無(wú)法顯示。而這些信息往往對(duì)我們維護(hù)系統(tǒng)、提升性能具有很大的參考價(jià)值。
4、刪除有異常的進(jìn)程。
如果這個(gè)窗口中,發(fā)現(xiàn)某些進(jìn)程有異?;蛘哂脩?hù)執(zhí)行了規(guī)定以外的應(yīng)用程序,如占用了太多的系統(tǒng)資源或者有僵尸進(jìn)程的存在,則可以直接在這個(gè)窗口中講其刪除。操作的方法很簡(jiǎn)單,只需要在這個(gè)窗口內(nèi)輸入字符p,然后系統(tǒng)會(huì)提示系統(tǒng)管理員輸入要關(guān)閉進(jìn)程的PID。管理員只需要鍵入這個(gè)值,然后按回車(chē)鍵就可以殺掉不需要的進(jìn)程。不過(guò)在關(guān)閉進(jìn)程的時(shí)候,有權(quán)限的限制。系統(tǒng)特權(quán)帳戶(hù)root可以關(guān)閉所有用戶(hù)的進(jìn)程。而普通帳戶(hù)則只能夠刪除自己打開(kāi)的程序,而無(wú)法關(guān)閉其他用戶(hù)的進(jìn)程。如現(xiàn)在系統(tǒng)管理員先以oracle用戶(hù)登錄,發(fā)現(xiàn)root帳戶(hù)下某個(gè)進(jìn)程異常,想要關(guān)閉時(shí),系統(tǒng)會(huì)提示無(wú)法關(guān)閉的錯(cuò)誤信息。此時(shí)管理員必須先終止這個(gè)進(jìn)程,然后利用su命令更改登陸的帳戶(hù)。然后再關(guān)閉這個(gè)異常的進(jìn)程。系統(tǒng)管理員可以同時(shí)關(guān)閉多個(gè)進(jìn)程。方法很簡(jiǎn)單,就是同時(shí)輸入多個(gè)需要關(guān)閉的進(jìn)程號(hào)。在各個(gè)進(jìn)程號(hào)之間需要利用逗號(hào)隔開(kāi)。
在系統(tǒng)維護(hù)中是一個(gè)很有用的命令。除了可以實(shí)現(xiàn)如上的功能外,還可以設(shè)置其動(dòng)態(tài)更新的時(shí)間間隔等等。不過(guò)需要注意的是,在不同版本的 Linux系統(tǒng)中其功能稍有差異,而且其顯示的布局與內(nèi)容也有所不同。為此當(dāng)系統(tǒng)管理員維護(hù)其不怎么熟悉的版本時(shí),有時(shí)候需要查看系統(tǒng)的幫助說(shuō)明。此時(shí)只需要在命令后面加上?號(hào)就可以獲得相關(guān)的幫助。這個(gè)聯(lián)機(jī)幫助文檔根命令一樣,都是系統(tǒng)管理員的好幫手。不過(guò)可惜的是,現(xiàn)在這些在線(xiàn)幫助文檔都是英文的。所以這對(duì)系統(tǒng)管理員的英文說(shuō)明要求比較高。
我想監(jiān)視linux系統(tǒng)的內(nèi)存使用情況,在linux下有哪
[root@iZ259r7h4pfZ ~]#
- 16:48:24 up 226 days, 8:34, 1 user, load average: 0.00, 0.00, 0.01
Tasks: 204 total, 1 running, 164 sleeping, 0 sped, 39 zombie
Cpu(s): 0.9%us, 0.9%sy, 0.0%ni, 98.1%id, 0.0%wa, 0.0%hi, 0.0%si, 0.0%st
Mem: 1920740k total, 1123552k used, 797188k free, 24216k buffers
Swap: 0k total, 0k used, 0k free, 87436k cached
[root@iZ259r7h4pfZ ~]# free -m
total used free shared buffers cached
Mem: 1875 1097 778 0 23 85
-/+ buffers/cache: 988 887
Swap: 0 0 0
也可以用watch監(jiān)控
[root@iZ259r7h4pfZ ~]# watch -n 1 "free -m"
Every 1.0s: free -m Tue Oct 31 16:48:44 2017
total used free shared buffers cached
Mem: 1875 1098 777 0 23 85
-/+ buffers/cache: 989 886
Swap: 0 0 0
LoadRunner如何監(jiān)控Linux系統(tǒng)資源
這個(gè)需要配置吧
:blogs./yangxia-test/archive/2012/11/27/2790771.
怎樣使用loadrunner監(jiān)控linux系統(tǒng)資源
LR只是模擬客戶(hù)端和服務(wù)器進(jìn)行交互,并不能直觀(guān)的收集服務(wù)器是內(nèi)部的信息,如果要監(jiān)控服務(wù)器性能情況,linux系統(tǒng)可以用nmon(或者用命令不過(guò),只能監(jiān)控內(nèi)存之類(lèi)的情況,寫(xiě)一個(gè)shell腳本定時(shí)輸出日志到本地就可以了),oracle可以用awr。
如何查看linux資源使用情況
Linux查看系統(tǒng)資源占用
在系統(tǒng)維護(hù)的過(guò)程中,隨時(shí)可能有需要查看 CPU和內(nèi)存的使用率,并根據(jù)相應(yīng)信息分析系統(tǒng)狀況的需求。本文介紹一下幾種常見(jiàn)的Linux系統(tǒng)資源查看命令。
1、總體內(nèi)存占用的查看
命令:free
圖1 free命令查看內(nèi)存占用
(1) free命令默認(rèn)是以kb為單位顯示的,可以用free -m 用Mb單位來(lái)顯示。
(2) Mem行 : total = used + free 其中buffers和cached雖然計(jì)算在used內(nèi), 但其實(shí)為可用內(nèi)存。
(3) Mem下一行:used為真實(shí)已占內(nèi)存,free為真實(shí)可用內(nèi)存。
(4)Swap:內(nèi)存交換區(qū)的使用情況。
2、查看內(nèi)存占用前五的進(jìn)程
命令:ps auxw | head -1;ps auxw|sort -rn -k4|head -5
圖 2.1查看內(nèi)存占用前5的進(jìn)程
如圖2.1所示, 內(nèi)存的單位是kb,VSZ是虛擬內(nèi)存的占用,RSS是真實(shí)的內(nèi)存的占用。
命令分解:
ps auxw顯示系統(tǒng)資源占用情況;
head -1表示顯示第一列,即標(biāo)題列;
sort -r 表示反向排序,-n表示按數(shù)字排序,-k4表示列的第4個(gè)字符。
3、查看CPU占用前三的進(jìn)程
命令:ps auxw|head -1;ps auxw|sort -rn -k3|head -3
圖3.1 查看cpu占用前三的進(jìn)程
該命令與圖2.1相仿,只是選擇的資源占用情況的第3列(即cpu),用“-k3”表示。
4、查看系統(tǒng)整體的負(fù)載
命令:
圖4.1 顯示系統(tǒng)整體負(fù)載
(1)第一行: 系統(tǒng)時(shí)間 + 系統(tǒng)運(yùn)行時(shí)間 + 幾個(gè)用戶(hù) + 1/5/15分鐘系統(tǒng)平均負(fù)載
(2)第二行:進(jìn)程總數(shù)(total) + 正在運(yùn)行進(jìn)程數(shù)(running) + 睡眠進(jìn)程數(shù)(sleeping) + 停止的進(jìn)程數(shù)(sped)+ 僵尸進(jìn)程數(shù)(zombie)
(3)第三行:用戶(hù)空間CPU占比(us) + 內(nèi)核空間CPU占比(sy)+ CPU空置率(id)
圖4.2 各個(gè)任務(wù)占用資源情況
注解:
PID :進(jìn)程ID
USER :用戶(hù)名
PR :優(yōu)先級(jí)
NI :負(fù)值表示高優(yōu)先級(jí),正值表示低優(yōu)先級(jí)。
VIRT :虛擬內(nèi)存
RES : 真實(shí)內(nèi)存
SHR :共享內(nèi)存
S :進(jìn)程狀態(tài) D=不可中斷的睡眠狀態(tài); R=運(yùn)行; S=睡眠 ;T=跟蹤/停止; Z=僵尸進(jìn)程
參數(shù):
-d 2 :每隔2秒顯式所有進(jìn)程的資源占用情況
-c :每隔5秒顯式進(jìn)程的資源占用情況,并顯示進(jìn)程的命令行參數(shù)(默認(rèn)只有進(jìn)程名)
-p 12345 -p 6789:每隔5秒顯示pid是12345和pid是6789的兩個(gè)進(jìn)程的資源占用情況
-d 2 -c -p 123456 :每隔2秒顯示pid是12345的進(jìn)程的資源使用情況,并顯式該進(jìn)程啟動(dòng)的命令行參數(shù)
如何使用vmstat命令監(jiān)視 CPU 的使用情況
假設(shè)一個(gè)線(xiàn)程被調(diào)度運(yùn)行,它將一直運(yùn)行直到它的時(shí)間片用完、直到被搶先或直到它自己主動(dòng)放棄 CPU 控制權(quán)。
當(dāng)另一個(gè)線(xiàn)程被賦予 CPU 控制權(quán)時(shí),必須保存前一個(gè)線(xiàn)程的上下文或工作環(huán)境,并載入當(dāng)前線(xiàn)程的上下文。操作系統(tǒng)有一個(gè)很有效的上下文切換過(guò)程,所以每次切換并不耗費(fèi)資源。
任何上下文切換的顯著增加,如當(dāng) cs 比磁盤(pán) I/O 和網(wǎng)絡(luò)包速率高的多,都應(yīng)進(jìn)行進(jìn)一步調(diào)查。