11.5 vmstat:虚拟内存统计
11.5.1 命令详解
【命令星级】 ★★★★☆
【功能说明】
vmstat是Virtual Memory Statistics(虚拟内存统计)的缩写,利用vmstat命令可以对操作系统的内存信息、进程状态和CPU活动等进行监视。但是只能对系统的整体情况进行统计,无法对某个进程进行深入分析。
【语法格式】
vmstat [option] [delay [ count]]
vmstat [选项] [时间间隔[次数]]
说明:
1)在vmstat命令及后面的选项里,每个元素之间都至少有一个空格。
2)delay表示两次输出之间的间隔时间。
3)count表示按照delay指定的时间间隔统计的次数。
【选项说明】
表11-4针对该命令的参数选项进行了说明。
11.5.2 使用范例
范例11-12:显示虚拟内存使用情况。
[root@oldboy ~]# vmstat #<==如果省略“间隔时间”和“次数”参数,则仅显示一次报告后就退出
procs -----------memory---------- ---swap-- -----io---- --system-- -----cpu-----
r b swpd free buff cache si so bi bo in cs us sy id wa st
0 0 0 71756 38600 279084 0 0 24 6 15 18 0 0 100 0 0
[root@oldboye ~]# vmstat 5 #<==表示每5秒钟更新一次输出信息,循环输出,按Ctrl+C组合键停止输出。
procs -----------memory---------- ---swap-- -----io---- --system-- -----cpu-----
r b swpd free buff cache si so bi bo in cs us sy id wa st
0 0 0 71804 38600 279084 0 0 2 1 9 9 0 0 100 0 0
0 0 0 71756 38600 279084 0 0 0 0 8 8 0 0 100 0 0
0 0 0 71756 38600 279084 0 0 0 0 9 9 0 0 100 0 0
^C
[root@oldboye ~]# vmstat 5 6 #<==表示每5秒更新一次输出信息,统计6次后停止输出。
procs -----------memory---------- ---swap-- -----io---- --system-- -----cpu-----
r b swpd free buff cache si so bi bo in cs us sy id wa st
0 0 0 71804 38600 279084 0 0 2 1 9 9 0 0 100 0 0
0 0 0 71756 38600 279084 0 0 0 0 9 8 0 0 100 0 0
0 0 0 71756 38600 279084 0 0 0 0 8 9 0 0 100 0 0
0 0 0 71756 38600 279084 0 0 0 0 9 8 0 0 100 0 0
0 0 0 71756 38600 279084 0 0 0 0 9 8 0 0 100 0 0
0 0 0 71756 38600 279084 0 0 0 0 9 8 0 0 100 0 0
[root@oldboy ~]#
以下是命令结果说明。
第1列:procs。
q r列表示运行和等待CPU时间片的进程数。
q b列表示在等待资源的进程数。
第2列:memory。
q swpd列表示使用虚拟内存大小。
q free列表示当前空闲的物理内存数量。
q buff列表示buffers 的内存数量。
q cache列表示cache的内存数量。
第3列:swap。
q si(swap in)列表示由磁盘调入内存,也就是内存进入内存交换区的数量。
q so(swap out)列表示由内存调入磁盘,也就是内存交换区进入内存的数量。
第4列:I/O项显示磁盘读写状况。
q bi列表示从块设备读入数据的总量(即读磁盘)(块/s)。
q bo列表示写入到块设备的数据总量(即写磁盘)(块/s)。
第5列:system显示采集间隔内发生的中断数。
q in列表示在某一时间间隔中观测到的每秒设备中断数。
q cs列表示每秒产生的上下文切换次数。
第6列:CPU项显示了CPU的使用状态。
q us列显示了用户进程消耗的CPU时间百分比。
q sy列显示了系统(内核)进程消耗的CPU时间百分比。
q id列显示了CPU处在空闲状态的时间百分比。
q wa列显示了IO等待所占用的CPU时间百分比。
q st列显示了虚拟机占用的CPU时间的百分比。
范例11-13:显示活跃和非活跃内存。
[root@oldboy ~]# vmstat -a 2 5
procs -----------memory---------- ---swap-- -----io---- --system-- -----cpu-----
r b swpd free inact active si so bi bo in cs us sy id wa st
0 0 0 71804 160408 165848 0 0 2 1 9 9 0 0 100 0 0
0 0 0 71756 160408 165844 0 0 0 0 11 11 0 0 100 0 0
0 0 0 71756 160408 165844 0 0 0 0 12 9 0 0 100 0 0
0 0 0 71608 160412 165672 0 0 0 1302 218 341 12 9 80 0 0
0 0 0 71608 160412 165672 0 0 0 0 10 9 0 0 100 0 0
使用-a选项显示活跃和非活跃内存时,所显示的内容除增加了inact和active外,其他显示内容与范例11-12相同。
在Memory列增加的inact和active两列,说明如下。
q inact: 非活跃内存大小(当使用-a选项时显示)。
q active: 活跃的内存大小(当使用-a选项时显示)。
范例11-14:查看内存使用的详细信息。
[root@oldboy ~]# vmstat -s
486640 total memory
414572 used memory
165656 active memory
160420 inactive memory
72068 free memory
……
这些信息的分别来自于/proc/meminfo,/proc/stat和/proc/vmstat。
范例11-15:查看磁盘的读/写。
[root@oldboy ~]# vmstat -d
disk- ------------reads------------ ------------writes----------- -----IO------
total merged sectors ms total merged sectors ms cur sec
ram0 0 0 0 0 0 0 0 0 0 0
ram1 0 0 0 0 0 0 0 0 0 0
……
sr0 0 0 0 0 0 0 0 0 0 0
sda 14667 3623 594388 6737 12864 32806 365372 44250 0 30
这些信息主要来自于/proc/diskstats。其中的merged表示一次来自于合并的写/读请求,一般系统会把多个连接/邻近的读/写请求合并到一起来操作。
范例11-16:查看/dev/sda1磁盘的读写统计信息。
[root@oldboy ~]# vmstat -p /dev/sda1
sda1 reads read sectors writes requested writes
502 4162 14 68
这些信息主要来自于/proc/diskstats。各列的说明如下。
q reads:来自于这个分区的读的次数。
q read sectors:来自于这个分区的读扇区的次数。
q writes:来自于这个分区的写的次数。
q requested writes:来自于这个分区的写请求次数。
摘自:
跟老男孩学Linux运维:核心系统命令实战 第11章 版权归原作者所有
Ⅱ linux vmstat锻戒护璇﹁В鍜屼娇鐢ㄥ疄渚
浠栨槸瀵圭郴缁熺殑鏁翠綋𨱍呭喌杩涜岀粺璁★纴涓嶈冻涔嫔勬槸镞犳硶瀵规煇涓杩涚▼杩涜屾繁鍏ュ垎鏋愩倂mstat 宸ュ叿鎻愪緵浜嗕竴绉崭绠寮阌镄勭郴缁熸ц兘瑙傚疗鏂瑰纺銆傚洜涓 vmstat 链韬灏辨槸浣庡紑阌宸ュ叿锛屽湪闱炲父楂樿礋钻风殑链嶅姟鍣ㄤ笂锛屼綘闇瑕佹煡鐪嫔苟鐩戞带绯荤粺镄勫仴搴锋儏鍐,鍦ㄦ带鍒剁獥鍙h缮鏄鑳藉熶娇鐢╲mstat 杈揿嚭缁撴灉銆傚湪瀛︿範vmstat锻戒护鍓嶏纴鎴戜滑鍏堜简瑙d竴涓婰inux绯荤粺涓鍏充簬鐗╃悊鍐呭瓨鍜岃櫄𨰾熷唴瀛樼浉鍏充俊鎭銆
鐗╃悊鍐呭瓨鍜岃櫄𨰾熷唴瀛桦尯鍒锛
鎴戜滑鐭ラ亾锛岀洿鎺ヤ粠鐗╃悊鍐呭瓨璇诲啓鏁版嵁瑕佹瘆浠庣‖鐩樿诲啓鏁版嵁瑕佸揩镄勫氾纴锲犳わ纴鎴戜滑甯屾湜镓链夋暟鎹镄勮诲彇鍜屽啓鍏ラ兘鍦ㄥ唴瀛桦畬鎴愶纴钥屽唴瀛樻槸链夐檺镄勶纴杩欐牱灏卞紩鍑轰简鐗╃悊鍐呭瓨涓庤櫄𨰾熷唴瀛樼殑姒傚康銆
鐗╃悊鍐呭瓨灏辨槸绯荤粺纭浠舵彁渚涚殑鍐呭瓨澶у皬锛屾槸鐪熸g殑鍐呭瓨锛岀浉瀵逛簬鐗╃悊鍐呭瓨锛屽湪linux涓嬭缮链変竴涓铏氭嫙鍐呭瓨镄勬傚康锛岃櫄𨰾熷唴瀛桦氨鏄涓轰简婊¤冻鐗╃悊鍐呭瓨镄勪笉瓒宠屾彁鍑虹殑绛栫暐锛屽畠鏄鍒╃敤纾佺洏绌洪棿铏氭嫙鍑虹殑涓鍧楅昏緫鍐呭瓨锛岀敤浣滆櫄𨰾熷唴瀛樼殑纾佺洏绌洪棿琚绉颁负浜ゆ崲绌洪棿(Swap Space)銆
浣滀负鐗╃悊鍐呭瓨镄勬墿灞曪纴linux浼氩湪鐗╃悊鍐呭瓨涓嶈冻镞讹纴浣跨敤浜ゆ崲鍒嗗尯镄勮櫄𨰾熷唴瀛桡纴镟磋︾粏镄勮达纴灏辨槸鍐呮牳浼氩皢𨱌傛椂涓岖敤镄勫唴瀛桦潡淇℃伅鍐椤埌浜ゆ崲绌洪棿锛岃繖镙蜂互𨱒ワ纴鐗╃悊鍐呭瓨寰楀埌浜嗛喷鏀撅纴杩椤潡鍐呭瓨灏卞彲浠ョ敤浜庡叾瀹幂洰镄勶纴褰挞渶瑕佺敤鍒板师濮嬬殑鍐呭规椂锛岃繖浜涗俊鎭浼氲閲嶆柊浠庝氦鎹㈢┖闂磋诲叆鐗╃悊鍐呭瓨銆
linux镄勫唴瀛樼$悊閲囧彇镄勬槸鍒嗛〉瀛桦彇链哄埗锛屼负浜嗕缭璇佺墿鐞嗗唴瀛樿兘寰楀埌鍏呭垎镄勫埄鐢锛屽唴镙镐细鍦ㄩ傚綋镄勬椂鍊椤皢鐗╃悊鍐呭瓨涓涓岖粡甯镐娇鐢ㄧ殑鏁版嵁鍧楄嚜锷ㄤ氦鎹㈠埌铏氭嫙鍐呭瓨涓锛岃屽皢缁忓父浣跨敤镄勪俊鎭淇濈暀鍒扮墿鐞嗗唴瀛樸
瑕佹繁鍏ヤ简瑙linux鍐呭瓨杩愯屾満鍒讹纴闇瑕佺煡阆扑笅闱㈡彁鍒扮殑鍑犱釜鏂归溃锛
棣栧厛锛孡inux绯荤粺浼氢笉镞剁殑杩涜岄〉闱浜ゆ崲镎崭綔锛屼互淇濇寔灏藉彲鑳藉氱殑绌洪棽鐗╃悊鍐呭瓨锛屽嵆浣垮苟娌℃湁浠涔堜簨𨱍呴渶瑕佸唴瀛桡纴Linux涔熶细浜ゆ崲鍑烘殏镞朵笉鐢ㄧ殑鍐呭瓨椤甸溃銆傝繖鍙浠ラ伩鍏岖瓑寰呬氦鎹㈡墍闇镄勬椂闂淬
鍏舵★纴linux杩涜岄〉闱浜ゆ崲鏄链夋浔浠剁殑锛屼笉鏄镓链夐〉闱㈠湪涓岖敤镞堕兘浜ゆ崲鍒拌櫄𨰾熷唴瀛桡纴linux鍐呮牳镙规嵁钬濇渶杩戞渶缁忓父浣跨敤钬灭畻娉曪纴浠呬粎灏嗕竴浜涗笉缁忓父浣跨敤镄勯〉闱㈡枃浠朵氦鎹㈠埌铏氭嫙鍐呭瓨锛屾湁镞舵垜浠浼氱湅鍒拌繖涔堜竴涓鐜拌薄锛歭inux鐗╃悊鍐呭瓨杩樻湁寰埚氾纴浣嗘槸浜ゆ崲绌洪棿涔熶娇鐢ㄤ简寰埚氥傚叾瀹烇纴杩椤苟涓嶅囨锛屼緥濡傦纴涓涓鍗犵敤寰埚ぇ鍐呭瓨镄勮繘绋嬭繍琛屾椂锛岄渶瑕佽楄垂寰埚氩唴瀛樿祫婧愶纴姝ゆ椂灏变细链変竴浜涗笉甯哥敤椤甸溃鏂囦欢琚浜ゆ崲鍒拌櫄𨰾熷唴瀛树腑锛屼絾钖庢潵杩欎釜鍗犵敤寰埚氩唴瀛樿祫婧愮殑杩涚▼缁撴潫骞堕喷鏀句简寰埚氩唴瀛樻椂锛屽垰镓嶈浜ゆ崲鍑哄幓镄勯〉闱㈡枃浠跺苟涓崭细镊锷ㄧ殑浜ゆ崲杩涚墿鐞嗗唴瀛桡纴闄ら潪链夎繖涓蹇呰侊纴闾d箞姝ゅ埢绯荤粺鐗╃悊鍐呭瓨灏变细绌洪棽寰埚氾纴钖屾椂浜ゆ崲绌洪棿涔熷湪琚浣跨敤锛屽氨鍑虹幇浜嗗垰镓嶆墍璇寸殑鐜拌薄浜嗐傚叧浜庤繖镣癸纴涓岖敤𨰾呭绩浠涔堬纴鍙瑕佺煡阆撴槸镐庝箞涓锲炰簨灏卞彲浠ヤ简銆
链钖庯纴浜ゆ崲绌洪棿镄勯〉闱㈠湪浣跨敤镞朵细棣栧厛琚浜ゆ崲鍒扮墿鐞嗗唴瀛桡纴濡傛灉姝ゆ椂娌℃湁瓒冲熺殑鐗╃悊鍐呭瓨𨱒ュ圭撼杩欎簺椤甸溃锛屽畠浠鍙堜细琚椹涓娄氦鎹㈠嚭铡伙纴濡傛や互𨱒ワ纴铏氭嫙鍐呭瓨涓鍙鑳芥病链夎冻澶熺┖闂存潵瀛桦偍杩欎簺浜ゆ崲椤甸溃锛屾渶缁堜细瀵艰嚧linux鍑虹幇锅囨绘満銆佹湇锷″纾甯哥瓑闂棰桡纴linux铏界劧鍙浠ュ湪涓娈垫椂闂村唴镊琛屾仮澶嶏纴浣嗘槸鎭㈠嶅悗镄勭郴缁熷凡缁忓熀链涓嶅彲鐢ㄤ简銆
锲犳わ纴钖堢悊瑙勫垝鍜岃捐linux鍐呭瓨镄勪娇鐢锛屾槸闱炲父閲嶈佺殑銆
铏氭嫙鍐呭瓨铡熺悊锛
鍦ㄧ郴缁熶腑杩愯岀殑姣忎釜杩涚▼閮介渶瑕佷娇鐢ㄥ埌鍐呭瓨锛屼絾涓嶆槸姣忎釜杩涚▼閮介渶瑕佹疮镞舵疮鍒讳娇鐢ㄧ郴缁熷垎閰岖殑鍐呭瓨绌洪棿銆傚綋绯荤粺杩愯屾墍闇鍐呭瓨瓒呰繃瀹为檯镄勭墿鐞嗗唴瀛桡纴鍐呮牳浼氶喷鏀炬煇浜涜繘绋嬫墍鍗犵敤浣嗘湭浣跨敤镄勯儴鍒嗘垨镓链夌墿鐞嗗唴瀛桡纴灏呜繖閮ㄥ垎璧勬枡瀛桦偍鍦ㄧ佺洏涓婄洿鍒拌繘绋嬩笅涓娆¤皟鐢锛屽苟灏嗛喷鏀惧嚭镄勫唴瀛樻彁渚涚粰链夐渶瑕佺殑杩涚▼浣跨敤銆
鍦↙inux鍐呭瓨绠$悊涓锛屼富瑕佹槸阃氲繃钬滆皟椤礟aging钬濆拰钬滀氦鎹Swapping钬濇潵瀹屾垚涓婅堪镄勫唴瀛樿皟搴︺傝皟椤电畻娉曟槸灏嗗唴瀛树腑链杩戜笉甯镐娇鐢ㄧ殑椤甸溃鎹㈠埌纾佺洏涓婏纴鎶婃椿锷ㄩ〉闱淇濈暀鍦ㄥ唴瀛树腑渚涜繘绋嬩娇鐢ㄣ备氦鎹㈡妧链鏄灏嗘暣涓杩涚▼锛岃屼笉鏄閮ㄥ垎椤甸溃锛屽叏閮ㄤ氦鎹㈠埌纾佺洏涓娿
鍒嗛〉(Page)鍐椤叆纾佺洏镄勮繃绋嬭绉颁綔Page-Out锛屽垎椤(Page)浠庣佺洏閲嶆柊锲炲埌鍐呭瓨镄勮繃绋嬭绉颁綔Page-In銆傚綋鍐呮牳闇瑕佷竴涓鍒嗛〉镞讹纴浣嗗彂鐜版ゅ垎椤典笉鍦ㄧ墿鐞嗗唴瀛树腑(锲犱负宸茬粡琚玃age-Out浜)锛屾ゆ椂灏卞彂鐢熶简鍒嗛〉阌栾(Page Fault)銆
褰撶郴缁熷唴镙稿彂鐜板彲杩愯屽唴瀛桦彉灏戞椂锛屽氨浼氶氲繃Page-Out𨱒ラ喷鏀句竴閮ㄥ垎鐗╃悊鍐呭瓨銆傜粡绠Page-Out涓嶆槸缁忓父鍙戠敓锛屼絾鏄濡傛灉Page-out棰戠箒涓嶆柇镄勫彂鐢燂纴鐩村埌褰揿唴镙哥$悊鍒嗛〉镄勬椂闂磋秴杩囱繍琛岀▼寮忕殑镞堕棿镞讹纴绯荤粺鏁堣兘浼氭ュ墽涓嬮檷銆傝繖镞剁殑绯荤粺宸茬粡杩愯岄潪甯告参鎴栬繘鍏ユ殏锅灭姸镐侊纴杩欑岖姸镐佷害琚绉颁綔thrashing(棰犵案)
1.锻戒护镙煎纺锛
浠g爜濡备笅:
vmstat [-a] [-n] [-S unit] [delay [ count]]
vmstat [-s] [-n] [-S unit]
vmstat [-m] [-n] [delay [ count]]
vmstat [-d] [-n] [delay [ count]]
vmstat [-p disk partition] [-n] [delay [ count]]
vmstat [-f]
vmstat [-V]
2.锻戒护锷熻兘锛
鐢ㄦ潵鏄剧ず铏氭嫙鍐呭瓨镄勪俊鎭
3.锻戒护鍙傛暟锛
-a锛氭樉绀烘椿璺冨拰闱炴椿璺冨唴瀛
-f锛氭樉绀轰粠绯荤粺钖锷ㄨ呖浠婄殑fork鏁伴噺 銆
-m锛氭樉绀簊labinfo
-n锛氩彧鍦ㄥ紑濮嬫椂鏄剧ず涓娆″悇瀛楁靛悕绉般
-s锛氭樉绀哄唴瀛樼浉鍏崇粺璁′俊鎭鍙婂氱岖郴缁熸椿锷ㄦ暟閲忋
delay锛氩埛鏂版椂闂撮棿闅斻傚傛灉涓嶆寚瀹氾纴鍙鏄剧ず涓𨱒$粨鏋溿
count锛氩埛鏂版℃暟銆傚傛灉涓嶆寚瀹氩埛鏂版℃暟锛屼絾鎸囧畾浜嗗埛鏂版椂闂撮棿闅旓纴杩欐椂鍒锋柊娆℃暟涓烘棤绌枫
-d锛氭樉绀虹佺洏鐩稿叧缁熻′俊鎭銆
-p锛氭樉绀烘寚瀹氱佺洏鍒嗗尯缁熻′俊鎭
-S锛氢娇鐢ㄦ寚瀹氩崟浣嶆樉绀恒傚弬鏁版湁 k 銆并 銆乵 銆丮 锛屽垎鍒浠h〃1000銆1024銆1000000銆1048576瀛楄妭(byte)銆傞粯璁ゅ崟浣崭负K(1024 bytes)
-V锛氭樉绀簐mstat鐗堟湰淇℃伅銆
4.浣跨敤瀹炰緥锛
瀹炰緥1锛氭樉绀鸿櫄𨰾熷唴瀛树娇鐢ㄦ儏鍐
锻戒护锛历mstat
杈揿嚭锛
浠g爜濡备笅:
[root@localhost ~]# vmstat 5 6
procs -----------memory---------- ---swap-- -----io---- --system-- -----cpu------
r b swpd free buff cache si so bi bo in cs us sy id wa st
0 0 0 3029876 199616 690980 0 0 0 2 3 2 0 0 100 0 0
0 0 0 3029752 199616 690980 0 0 0 41 1009 39 0 0 100 0 0
0 0 0 3029752 199616 690980 0 0 0 3 1004 36 0 0 100 0 0
0 0 0 3029752 199616 690980 0 0 0 4 1004 36 0 0 100 0 0
0 0 0 3029752 199616 690980 0 0 0 6 1003 33 0 0 100 0 0
0 0 0 3029752 199616 690980 0 0 0 5 1003 33 0 0 100 0 0
vmstat锻戒护杈揿嚭淇℃伅璇︾粏璇存槑锛
瀛楁佃存槑锛
Procs(杩涚▼)锛
r: 杩愯岄槦鍒椾腑杩涚▼鏁伴噺
b: 绛夊緟IO镄勮繘绋嬫暟閲
Memory(鍐呭瓨)锛
swpd: 浣跨敤铏氭嫙鍐呭瓨澶у皬
free: 鍙鐢ㄥ唴瀛桦ぇ灏
buff: 鐢ㄤ綔缂揿啿镄勫唴瀛桦ぇ灏
cache: 鐢ㄤ綔缂揿瓨镄勫唴瀛桦ぇ灏
Swap锛
si: 姣忕掍粠浜ゆ崲鍖哄啓鍒板唴瀛樼殑澶у皬
so: 姣忕掑啓鍏ヤ氦鎹㈠尯镄勫唴瀛桦ぇ灏
IO锛(鐜板湪镄凩inux鐗堟湰鍧楃殑澶у皬涓1024bytes)
bi: 姣忕掕诲彇镄勫潡鏁
bo: 姣忕掑啓鍏ョ殑鍧楁暟
绯荤粺锛
in: 姣忕掍腑鏂鏁帮纴鍖呮嫭镞堕挓涓鏂銆
cs: 姣忕掍笂涓嬫枃鍒囨崲鏁般
CPU(浠ョ栌鍒嗘瘆琛ㄧず)锛
us: 鐢ㄦ埛杩涚▼镓ц屾椂闂(user time)
sy: 绯荤粺杩涚▼镓ц屾椂闂(system time)
id: 绌洪棽镞堕棿(鍖呮嫭IO绛夊緟镞堕棿),涓澶澶勭悊鍣ㄧ殑绌洪棽镞堕棿 銆备互锏惧垎姣旇〃绀恒
wa: 绛夊緟IO镞堕棿
澶囨敞锛 濡傛灉 r缁忓父澶т簬 4 锛屼笖id缁忓父灏戜簬40锛岃〃绀篶pu镄勮礋钻峰緢閲嶃傚傛灉pi锛宲o 闀挎湡涓岖瓑浜0锛岃〃绀哄唴瀛树笉瓒炽傚傛灉disk 缁忓父涓岖瓑浜0锛 涓斿湪 b涓镄勯槦鍒 澶т簬3锛 琛ㄧず io镐ц兘涓嶅ソ銆侺inux鍦ㄥ叿链夐珮绋冲畾镐с佸彲闱犳х殑钖屾椂锛屽叿链夊緢濂界殑鍙浼哥缉镐у拰镓╁𪾢镐э纴鑳藉熼拡瀵逛笉钖岀殑搴旂敤鍜岀‖浠剁幆澧冭皟鏁达纴浼桦寲鍑烘弧瓒冲綋鍓嶅簲鐢ㄩ渶瑕佺殑链浣虫ц兘銆傚洜姝や紒涓氩湪缁存姢Linux绯荤粺銆佽繘琛岀郴缁熻皟浼樻椂锛屼简瑙g郴缁熸ц兘鍒嗘瀽宸ュ叿鏄镊冲叧閲嶈佺殑銆
锻戒护锛历mstat 5 5
琛ㄧず鍦5绉掓椂闂村唴杩涜5娆¢噰镙枫傚皢寰楀埌涓涓鏁版嵁姹囨讳粬鑳藉熷弽鏄犵湡姝g殑绯荤粺𨱍呭喌銆
瀹炰緥2锛氭樉绀烘椿璺冨拰闱炴椿璺冨唴瀛
锻戒护锛历mstat -a 2 5
杈揿嚭锛
浠g爜濡备笅:
[root@localhost ~]# vmstat -a 2 5
procs -----------memory---------- ---swap-- -----io---- --system-- -----cpu------
r b swpd free inact active si so bi bo in cs us sy id wa st
0 0 0 3029752 387728 513008 0 0 0 2 3 2 0 0 100 0 0
0 0 0 3029752 387728 513076 0 0 0 0 1005 34 0 0 100 0 0
0 0 0 3029752 387728 513076 0 0 0 22 1004 36 0 0 100 0 0
0 0 0 3029752 387728 513076 0 0 0 0 1004 33 0 0 100 0 0
0 0 0 3029752 387728 513076 0 0 0 0 1003 32 0 0 100 0 0
[root@localhost ~]#
璇存槑锛
浣跨敤-a阃夐”鏄剧ず娲昏穬鍜岄潪娲昏穬鍐呭瓨镞讹纴镓鏄剧ず镄勫唴瀹归櫎澧炲姞inact鍜宎ctive澶栵纴鍏朵粬鏄剧ず鍐呭逛笌渚嫔瓙1鐩稿悓銆
瀛楁佃存槑锛
Memory(鍐呭瓨)锛
inact: 闱炴椿璺冨唴瀛桦ぇ灏(褰扑娇鐢-a阃夐”镞舵樉绀)
active: 娲昏穬镄勫唴瀛桦ぇ灏(褰扑娇鐢-a阃夐”镞舵樉绀)
瀹炰緥3锛氭煡鐪嬬郴缁熷凡缁廸ork浜嗗氩皯娆
锻戒护锛历mstat -f
杈揿嚭锛
浠g爜濡备笅:
[root@SCF1129 ~]# vmstat -f
12744849 forks
[root@SCF1129 ~]#
璇存槑锛
杩欎釜鏁版嵁鏄浠/proc/stat涓镄刾rocesses瀛楁甸噷鍙栧缑镄
瀹炰緥4锛氭煡鐪嫔唴瀛树娇鐢ㄧ殑璇︾粏淇℃伅
锻戒护锛历mstat -s
杈揿嚭锛
浠g爜濡备笅:
[root@localhost ~]# vmstat -s
4043760 total memory
1013884 used memory
513012 active memory
387728 inactive memory
3029876 free memory
199616 buffer memory
690980 swap cache
6096656 total swap
0 used swap
6096656 free swap
83587 non-nice user cpu ticks
132 nice user cpu ticks
278599 system cpu ticks
913344692 idle cpu ticks
814550 IO-wait cpu ticks
10547 IRQ cpu ticks
21261 softirq cpu ticks
0 stolen cpu ticks
310215 pages paged in
14254652 pages paged out
0 pages swapped in
0 pages swapped out
288374745 interrupts
146680577 CPU context switches
1351868832 boot time
367291 forks
璇存槑锛
杩欎簺淇℃伅镄勫垎鍒𨱒ヨ嚜浜/proc/meminfo,/proc/stat鍜/proc/vmstat銆
瀹炰緥5锛氭煡鐪嬬佺洏镄勮/鍐
锻戒护锛历mstat -d
杈揿嚭锛
浠g爜濡备笅:
[root@localhost ~]# vmstat -d
disk- ------------reads------------ ------------writes----------- -----IO------
total merged sectors ms total merged sectors ms cur sec
ram0 0 0 0 0 0 0 0 0 0 0
ram1 0 0 0 0 0 0 0 0 0 0
ram2 0 0 0 0 0 0 0 0 0 0
ram3 0 0 0 0 0 0 0 0 0 0
ram4 0 0 0 0 0 0 0 0 0 0
ram5 0 0 0 0 0 0 0 0 0 0
ram6 0 0 0 0 0 0 0 0 0 0
ram7 0 0 0 0 0 0 0 0 0 0
ram8 0 0 0 0 0 0 0 0 0 0
ram9 0 0 0 0 0 0 0 0 0 0
ram10 0 0 0 0 0 0 0 0 0 0
ram11 0 0 0 0 0 0 0 0 0 0
ram12 0 0 0 0 0 0 0 0 0 0
ram13 0 0 0 0 0 0 0 0 0 0
ram14 0 0 0 0 0 0 0 0 0 0
ram15 0 0 0 0 0 0 0 0 0 0
sda 33381 6455 615407 63224 2068111 1495416 28508288 15990289 0 10491
hdc 0 0 0 0 0 0 0 0 0 0
fd0 0 0 0 0 0 0 0 0 0 0
md0 0 0 0 0 0 0 0 0 0 0
[root@localhost ~]#
璇存槑锛
杩欎簺淇℃伅涓昏佹潵镊浜/proc/diskstats.
merged:琛ㄧず涓娆℃潵镊浜庡悎骞剁殑鍐/璇昏锋眰,涓鑸绯荤粺浼氭妸澶氢釜杩炴帴/闾昏繎镄勮/鍐栾锋眰钖埚苟鍒颁竴璧锋潵镎崭綔.
瀹炰緥6锛氭煡鐪/dev/sda1纾佺洏镄勮/鍐
锻戒护锛历mstat -p /dev/sda1
杈揿嚭锛
浠g爜濡备笅:
[root@SCF1129 ~]# df
鏂囦欢绯荤粺 1K-鍧 宸茬敤 鍙鐢 宸茬敤% 鎸傝浇镣
/dev/sda3 1119336548 27642068 1034835500 3% /tmpfs 32978376 0 32978376 0% /dev/shm
/dev/sda1 1032088 59604 920056 7% /boot
[root@SCF1129 ~]# vmstat -p /dev/sda1
sda1 reads read sectors writes requested writes
18607 4249978 6 48[root@SCF1129 ~]# vmstat -p /dev/sda3
sda3 reads read sectors writes requested writes
429350 35176268 28998789 980301488[root@SCF1129 ~]#
璇存槑锛
杩欎簺淇℃伅涓昏佹潵镊浜/proc/diskstats銆
reads:𨱒ヨ嚜浜庤繖涓鍒嗗尯镄勮荤殑娆℃暟銆
read sectors:𨱒ヨ嚜浜庤繖涓鍒嗗尯镄勮绘墖鍖虹殑娆℃暟銆
writes:𨱒ヨ嚜浜庤繖涓鍒嗗尯镄勫啓镄勬℃暟銆
requested writes:𨱒ヨ嚜浜庤繖涓鍒嗗尯镄勫啓璇锋眰娆℃暟銆
瀹炰緥7锛氭煡鐪嬬郴缁熺殑slab淇℃伅
锻戒护锛历mstat -m
杈揿嚭锛
浠g爜濡备笅:
[root@localhost ~]# vmstat -m
Cache Num Total Size Pages
ip_conntrack_expect 0 0 136 28
ip_conntrack 3 13 304 13
ip_fib_alias 11 59 64 59
ip_fib_hash 11 59 64 59
AF_VMCI 0 0 960 4
bio_map_info 100 105 1064 7
dm_mpath 0 0 1064 7
jbd_4k 0 0 4096 1
dm_uevent 0 0 2608 3
dm_tio 0 0 24 144
dm_io 0 0 48 77
scsi_cmd_cache 10 10 384 10
sgpool-128 32 32 4096 1
sgpool-64 32 32 2048 2
sgpool-32 32 32 1024 4
sgpool-16 32 32 512 8
sgpool-8 45 45 256 15
scsi_io_context 0 0 112 34
ext3_inode_cache 51080 51105 760 5
ext3_xattr 36 88 88 44
journal_handle 18 144 24 144
journal_head 56 80 96 40
revoke_table 4 202 16 202
revoke_record 0 0 32 112
uhci_urb_priv 0 0 56 67
UNIX 13 33 704 11
flow_cache 0 0 128 30
msi_cache 33 59 64 59
cfq_ioc_pool 14 90 128 30
cfq_pool 12 90 216 18
crq_pool 16 96 80 48
deadline_drq 0 0 80 48
as_arq 0 0 96 40
mqueue_inode_cache 1 4 896 4
isofs_inode_cache 0 0 608 6
hugetlbfs_inode_cache 1 7 576 7
Cache Num Total Size Pages
ext2_inode_cache 0 0 720 5
ext2_xattr 0 0 88 44
dnotify_cache 0 0 40 92
dquot 0 0 256 15
eventpoll_pwq 3 53 72 53
eventpoll_epi 3 20 192 20
inotify_event_cache 0 0 40 92
inotify_watch_cache 1 53 72 53
kioctx 0 0 320 12
kiocb 0 0 256 15
fasync_cache 0 0 24 144
shmem_inode_cache 254 290 768 5
posix_timers_cache 0 0 128 30
uid_cache 0 0 128 30
ip_mrt_cache 0 0 128 30
tcp_bind_bucket 3 112 32 112
inet_peer_cache 0 0 128 30
secpath_cache 0 0 64 59
xfrm_dst_cache 0 0 384 10
ip_dst_cache 5 10 384 10
arp_cache 1 15 256 15
RAW 3 5 768 5
UDP 5 10 768 5
tw_sock_TCP 0 0 192 20
request_sock_TCP 0 0 128 30
TCP 4 5 1600 5
blkdev_ioc 14 118 64 59
blkdev_queue 20 30 1576 5
blkdev_requests 13 42 272 14
biovec-256 7 7 4096 1
biovec-128 7 8 2048 2
biovec-64 7 8 1024 4
biovec-16 7 15 256 15
biovec-4 7 59 64 59
biovec-1 23 202 16 202
bio 270 270 128 30
utrace_engine_cache 0 0 64 59
Cache Num Total Size Pages
utrace_cache 0 0 64 59
sock_inode_cache 33 48 640 6
skbuff_fclone_cache 7 7 512 7
skbuff_head_cache 319 390 256 15
file_lock_cache 1 22 176 22
Acpi-Operand 4136 4248 64 59
Acpi-ParseExt 0 0 64 59
Acpi-Parse 0 0 40 92
Acpi-State 0 0 80 48
Acpi-Namespace 2871 2912 32 112
delayacct_cache 81 295 64 59
taskstats_cache 4 53 72 53
proc_inode_cache 1427 1440 592 6
sigqueue 0 0 160 24
radix_tree_node 13166 13188 536 7
bdev_cache 23 24 832 4
sysfs_dir_cache 5370 5412 88 44
mnt_cache 26 30 256 15
inode_cache 2009 2009 560 7
dentry_cache 60952 61020 216 18
filp 479 1305 256 15
names_cache 3 3 4096 1
avc_node 14 53 72 53
selinux_inode_security 994 1200 80 48
key_jar 2 20 192 20
idr_layer_cache 74 77 528 7
buffer_head 164045 164800 96 40
mm_struct 51 56 896 4
vm_area_struct 1142 1958 176 22
fs_cache 35 177 64 59
files_cache 36 55 768 5
signal_cache 72 162 832 9
sighand_cache 68 84 2112 3
task_struct 76 80 1888 2
anon_vma 458 864 24 144
pid 83 295 64 59
shared_policy_node 0 0 48 77
Cache Num Total Size Pages
numa_policy 37 144 24 144
size-131072(DMA) 0 0 131072 1
size-131072 0 0 131072 1
size-65536(DMA) 0 0 65536 1
size-65536 1 1 65536 1
size-32768(DMA) 0 0 32768 1
size-32768 2 2 32768 1
size-16384(DMA) 0 0 16384 1
size-16384 5 5 16384 1
size-8192(DMA) 0 0 8192 1
size-8192 7 7 8192 1
size-4096(DMA) 0 0 4096 1
size-4096 110 111 4096 1
size-2048(DMA) 0 0 2048 2
size-2048 602 602 2048 2
size-1024(DMA) 0 0 1024 4
size-1024 344 352 1024 4
size-512(DMA) 0 0 512 8
size-512 433 480 512 8
size-256(DMA) 0 0 256 15
size-256 1139 1155 256 15
size-128(DMA) 0 0 128 30
size-64(DMA) 0 0 64 59
size-64 5639 5782 64 59
size-32(DMA) 0 0 32 112
size-128 801 930 128 30
size-32 3005 3024 32 112
kmem_cache 137 137 2688 1
杩欑粍淇℃伅𨱒ヨ嚜浜/proc/slabinfo銆
slab:鐢变簬鍐呮牳浼氭湁璁稿氩皬瀵硅薄锛岃繖浜涘硅薄鏋勯犻攒姣佸崄鍒嗛戠箒锛屾瘆濡俰-node锛宒entry锛岃繖浜涘硅薄濡傛灉姣忔℃瀯寤虹殑镞跺椤氨钖戝唴瀛樿佷竴涓椤(4kb)锛岃屽叾瀹炲彧链夊嚑涓瀛楄妭锛岃繖镙峰氨浼氶潪甯告氮璐癸纴涓轰简瑙e喅杩欎釜闂棰桡纴灏卞紩鍏ヤ简涓绉嶆柊镄勬満鍒舵潵澶勭悊鍦ㄥ悓涓涓椤垫嗕腑濡备綍鍒嗛厤灏忓瓨鍌ㄥ尯锛岃宻lab鍙浠ュ瑰皬瀵硅薄杩涜屽垎閰,杩欐牱灏变笉鐢ㄤ负姣忎竴涓瀵硅薄鍒嗛厤椤垫嗭纴浠庤岃妭鐪佷简绌洪棿锛屽唴镙稿逛竴浜涘皬瀵硅薄鍒涘缓鏋愭瀯寰堥戠箒锛宻lab瀵硅繖浜涘皬瀵硅薄杩涜岀紦鍐,鍙浠ラ吨澶嶅埄鐢,鍑忓皯鍐呭瓨鍒嗛厤娆℃暟銆
Ⅲ Linux涓铏氭嫙鍐呭瓨镆ョ湅锻戒护vmstat镄勪娇鐢ㄦ暀绋
vmstat鏄涓涓镆ョ湅铏氭嫙鍐呭瓨浣跨敤鐘跺喌镄勫伐鍏,瀹冨彲浠ョ湅鍒版湇锷″櫒浣跨敤鐜,鍐呭瓨浣跨敤,铏氭嫙鍐呭瓨浜ゆ崲𨱍呭喌,IO璇诲啓.鐩告瘆top,鍙浠ョ湅鍒版暣涓链哄櫒镄凛PU,memory,IO镄勪娇鐢ㄦ儏鍐,钥屼笉鏄鍗曞崟鐪嫔埌钖勪釜杩涚▼钖勫肩殑浣跨敤鐜.
榛樿ゆ儏鍐典笅,vmstat锻戒护骞舵病链夊畨瑁,闇瑕佸畨瑁却ysstat鍖,璇ュ寘閲屽惈链塿mstat绋嫔簭.
涓鑸缁忓父浣跨敤镄勮ュ懡浠ゅ悗锷2涓鏁板瓧鍙傛暟,绗涓涓鍙傛暟鏄閲囨牱镄勬椂闂撮棿闅(绉),绗浜屼釜鍙傛暟鏄閲囨牱镄勬℃暟.
锘烘湰鍙傛暟锛
vmstat [-a] [-n] [-t] [-S unit] [delay [ count]]
[-a]锛氭樉绀烘椿璺冨拰闱炴椿璺冨唴瀛
[-n]锛氩彧鍦ㄥ紑濮嬫椂鏄剧ず涓娆″瓧娈靛悕锛岄拡瀵瑰氭℃敹闆嗕俊鎭镄勬儏鍐佃緭鍑轰汉镐у寲涓镣
[-t]锛氩湪姣忔浔淇℃伅镄勬汤灏撅纴鏄剧ず鏀堕泦淇℃伅镄勬椂闂
[-S unit]锛氢娇鐢ㄦ寚瀹氩崟浣嶆樉绀恒傚弬鏁版湁 k 銆并 銆乵 銆丮 锛屽垎鍒浠h〃1000銆1024銆1000000銆1048576瀛楄妭锛坆yte锛夈傞粯璁ゅ崟浣崭负K锛1024 bytes锛
[delay [count]]锛歞elay鏄淇℃伅鏀堕泦闂撮殧锛宑ount鏄淇℃伅鏀堕泦镄勬℃暟
vmstat [-s] [-n] [-S unit]
[-s]锛氭樉绀哄唴瀛樼浉鍏崇殑缁熻′俊鎭
vmstat [-m] [-n] [delay [ count]]
[-m]锛氭樉绀簊labinfo锛宻labinfo淇℃伅璁板綍鍦/proc/slabinfo鏂囦欢涓銆俿lab鏄痩inux镄勪竴涓鍐呭瓨鍒嗛厤链哄埗銆
vmstat [-d] [-n] [delay [ count]]
[-d]锛氭樉绀虹浉鍏崇佺洏镄勭粺璁′俊鎭
娉锛氲繖涓璺熸ゼ涓-p镄勫尯鍒缁熻′俊鎭镄勪笉钖屻佺粺璁″硅薄杩欎釜鏄纾佺洏-p鏄瀛愬垎鍖恒佽繖涓涓嶈兘鎸囧畾鍏ㄩ儴杈揿嚭
vmstat [-p disk partition] [-n] [delay [ count]]
[-p disk partition]锛氭樉绀虹佺洏瀛愬垎鍖虹殑缁熻′俊鎭锛岃繖閲屾病链塱ostat镄勪俊鎭闾d箞链夌敤
vmstat [-f]
[-f]锛氩紑链哄惎锷ㄨ呖浠婄殑fork鏁伴噺 娉锛氲繖閲岀殑fork搴旇ユ槸鍐呮牳镄刦ork()鍑芥暟锛屽湪鐖惰繘绋嬩腑,fork杩斿洖鏂板垱寤哄瓙杩涚▼镄勮繘绋娅D
vmstat [-V]
[-V]锛氱増链淇℃伅
绀轰緥
浠g爜濡备笅:
[email protected]:~# vmstat 2 10procs -----------memory---------- ---swap-- -----io---- --system-- -----cpu-----
r b swpd free buff cache si so bi bo in cs us sy id wa st
13 0 0 542604 323512 12356052 0 0 0 2 0 0 17 18 65 0 0
42 0 0 552500 323512 12356112 0 0 0 0 18669 49903 42 45 14 0 0
72 0 0 563416 323512 12356132 0 0 0 0 18394 49895 41 43 16 0 0
73 0 0 570924 323512 12356164 0 0 0 0 19666 51678 37 41 22 0 0
13 0 0 581208 323512 12356204 0 0 0 280 18990 49541 43 43 15 0 0
18 0 0 587148 323512 12356228 0 0 0 32 19360 49203 37 39 24 0 0
27 0 0 520016 323512 12356292 0 0 0 0 20423 52865 39 40 21 0 0
18 0 0 527512 323512 12356336 0 0 0 0 19613 53052 42 43 16 0 0
23 0 0 538608 323512 12356376 0 0 0 0 18860 50645 41 42 18 0 0
80 0 0 548608 323512 12356444 0 0 0 0 19781 50917 41 42 17 0 0
镙规嵁浠ヤ笂瀹炰緥,涓嬮溃鏄瀛楁佃存槑:
Procs(杩涚▼)
r:琛ㄧず杩愯岄槦鍒楃殑杩涚▼鏁伴噺,鎹㈠彞璇濊村氨鏄澶氩皯涓杩涚▼鐪熸e垎閰嶅埌cpu.链嶅姟鍣ㄩ厤缃甤pu涓8镙,杩欓噷鐢变簬链嶅姟鍣ㄨ繍琛屼简澶ч噺镄勭▼搴忓湪璺,褰撹繖涓鍊艰秴杩囦简cpu鏁扮洰,涓攊d杈冨皬,灏卞彲鑳戒细鍑虹幇cpu鐡堕.杩愯岄槦鍒楄繃澶,琛ㄧずcpu寰堢箒蹇,涓鑸浼氶犳垚cpu浣跨敤鐜囱繃楂.
b:绛夊緟io镄勮繘绋嬫暟.
Memory
swpd:铏氭嫙鍐呭瓨浣跨敤𨱍呭喌,鍗曚綅KB
free:绌洪棽镄勫唴瀛
buff:鐢ㄤ綔缂揿啿镄勫唴瀛桦ぇ灏,鍐呭瓨涓镄勪竴閮ㄥ垎,镆愮▼搴忎唬镰佺紦瀛,涓嶅彲绉诲埌swap閲屽幓.
cache:鐢ㄤ綔缂揿瓨镄勫唴瀛桦ぇ灏,鏁版嵁缂揿瓨,鍏佽镐氦缁檚wap
Swap
si:浠庣佺洏浜ゆ崲鍒板唴瀛樼殑浜ゆ崲椤垫暟閲,姣忕掍粠纾佺洏璇诲叆铏氭嫙鍐呭瓨镄勫ぇ灏,濡傛灉杩欎釜鍊煎ぇ浜0,琛ㄧず鐗╃悊鍐呭瓨涓嶅熺敤鎴栬呭唴瀛樻硠闇.
so:浠庡唴瀛树氦鎹㈠埌纾佺洏镄勪氦鎹㈤〉鏁伴噺,姣忕掕櫄𨰾熷唴瀛桦啓鍏ョ佺洏镄勫ぇ灏,濡傛灉杩欎釜鍊煎ぇ浜0,琛ㄧず鐗╃悊鍐呭瓨涓嶅熺敤鎴栬呭唴瀛樻硠闇.
bi:Blocks received from a block device (blocks/s).姣忕掍粠鍧楄惧囨帴鏀跺埌镄勫潡鏁帮纴鍗宠诲潡璁惧囥
bo:Blocks sent to a block device (blocks/s).姣忕掑彂阃佸埌鍧楄惧囩殑鍧楁暟锛屽嵆鍐椤潡璁惧囥
System
in:姣忕掍腑鏂鏁,鍖呮嫭镞堕挓涓鏂.
cs:姣忕掍笂涓嬫枃鍒囨崲鏁.杩欎釜鍊艰秺灏忚秺濂.姣斿傛疮娆¤皟鐢ㄧ郴缁熷嚱鏁,绾跨▼镄勫垏鎹,浠g爜灏变细杩涘叆鍐呮牳绌洪棿,瀵艰嚧涓娄笅鏂囧垏鎹,娆℃暟杩囧氲〃绀篶pu澶ч儴鍒嗘氮璐瑰湪涓娄笅鏂囧垏鎹,瀵艰嚧cpu娌℃湁鍏呭垎鍒╃敤.
CPU(浠ョ栌鍒嗘瘆琛ㄧず)
us:鐢ㄦ埛杩涚▼镓ц岀殑镞堕棿,鐢ㄦ埛cpu浣跨敤鐜,镎崭綔杩愮畻绛.
sy:绯荤粺杩涚▼镓ц岀殑镞堕棿,绯荤粺cpu浣跨敤鐜,璇诲彇纭鐩,镎崭綔纭浠剁瓑.
id:绌洪棽镞堕棿(鍖呮嫭IO绛夊緟镞堕棿)
wa:绛夊緟IO镞堕棿