当前位置:首页 » 操作系统 » linux负载命令

linux负载命令

发布时间: 2024-05-10 17:18:49

1. 如何用九条命令在一分钟内检查linux服务器性能

一、uptime命令

这个命令可以快速查看机器的负载情况。在Linux系统中,这些数据表示等待CPU资源的进程和阻塞在不可中断IO进程(进程状态为D)的数量。这些数据可以让我们对系统资源使用有一个宏观的了解。

命令的输出分别表示1分钟、5分钟、15分钟的平均负载情况。通过这三个数据,可以了解服务器负载是在趋于紧张还是趋于缓解。如果1分钟平均负载很高,而15分钟平均负载很低,说明服务器正在命令高负载情况,需要进一步排查CPU资源都消耗在了哪里。反之,如果15分钟平均负载很高,1分钟平均负载较低,则有可能是CPU资源紧张时刻已经过去。

上面例子中的输出,可以看见最近1分钟的平均负载非常高,且远高于最近15分钟负载,因此我们需要继续排查当前系统中有什么进程消耗了大量的资源。可以通过下文将会介绍的vmstat、mpstat等命令进一步排查。

二、dmesg命令

该命令会输出系统日志的最后10行。示例中的输出,可以看见一次内核的oom kill和一次TCP丢包。这些日志可以帮助排查性能问题。千万不要忘了这一步。

三、vmstat命令

vmstat(8) 命令,每行会输出一些系统核心指标,这些指标可以让我们更详细的了解系统状态。后面跟的参数1,表示每秒输出一次统计信息,表头提示了每一列的含义,这几介绍一些和性能调优相关的列:

r:等待在CPU资源的进程数。这个数据比平均负载更加能够体现CPU负载情况,数据中不包含等待IO的进程。如果这个数值大于机器CPU核数,那么机器的CPU资源已经饱和。

free:系统可用内存数(以千字节为单位),如果剩余内存不足,也会导致系统性能问题。下文介绍到的free命令,可以更详细的了解系统内存的使用情况。

si,so:交换区写入和读取的数量。如果这个数据不为0,说明系统已经在使用交换区(swap),机器物理内存已经不足。

us, sy, id, wa, st:这些都代表了CPU时间的消耗,它们分别表示用户时间(user)、系统(内核)时间(sys)、空闲时间(idle)、IO等待时间(wait)和被偷走的时间(stolen,一般被其他虚拟机消耗)。

上述这些CPU时间,可以让我们很快了解CPU是否出于繁忙状态。一般情况下,如果用户时间和系统时间相加非常大,CPU出于忙于执行指令。如果IO等待时间很长,那么系统的瓶颈可能在磁盘IO。

示例命令的输出可以看见,大量CPU时间消耗在用户态,也就是用户应用程序消耗了CPU时间。这不一定是性能问题,需要结合r队列,一起分析。

四、mpstat命令

该命令可以显示每个CPU的占用情况,如果有一个CPU占用率特别高,那么有可能是一个单线程应用程序引起的。

五、pidstat命令

pidstat命令输出进程的CPU占用率,该命令会持续输出,并且不会覆盖之前的数据,可以方便观察系统动态。如上的输出,可以看见两个JAVA进程占用了将近1600%的CPU时间,既消耗了大约16个CPU核心的运算资源。

六、iostat命令

r/s, w/s, rkB/s, wkB/s:分别表示每秒读写次数和每秒读写数据量(千字节)。读写量过大,可能会引起性能问题。

await:IO操作的平均等待时间,单位是毫秒。这是应用程序在和磁盘交互时,需要消耗的时间,包括IO等待和实际操作的耗时。如果这个数值过大,可能是硬件设备遇到了瓶颈或者出现故障。

avgqu-sz:向设备发出的请求平均数量。如果这个数值大于1,可能是硬件设备已经饱和(部分前端硬件设备支持并行写入)。

%util:设备利用率。这个数值表示设备的繁忙程度,经验值是如果超过60,可能会影响IO性能(可以参照IO操作平均等待时间)。如果到达100%,说明硬件设备已经饱和。

如果显示的是逻辑设备的数据,那么设备利用率不代表后端实际的硬件设备已经饱和。值得注意的是,即使IO性能不理想,也不一定意味这应用程序性能会不好,可以利用诸如预读取、写缓存等策略提升应用性能。

七、free命令

free命令可以查看系统内存的使用情况,-m参数表示按照兆字节展示。最后两列分别表示用于IO缓存的内存数,和用于文件系统页缓存的内存数。需要注意的是,第二行-/+ buffers/cache,看上去缓存占用了大量内存空间。

这是Linux系统的内存使用策略,尽可能的利用内存,如果应用程序需要内存,这部分内存会立即被回收并分配给应用程序。因此,这部分内存一般也被当成是可用内存。

如果可用内存非常少,系统可能会动用交换区(如果配置了的话),这样会增加IO开销(可以在iostat命令中提现),降低系统性能。

八、sar命令

sar命令在这里可以查看网络设备的吞吐率。在排查性能问题时,可以通过网络设备的吞吐量,判断网络设备是否已经饱和。如示例输出中,eth0网卡设备,吞吐率大概在22 Mbytes/s,既176 Mbits/sec,没有达到1Gbit/sec的硬件上限。

sar命令在这里用于查看TCP连接状态,其中包括:

active/s:每秒本地发起的TCP连接数,既通过connect调用创建的TCP连接;

passive/s:每秒远程发起的TCP连接数,即通过accept调用创建的TCP连接;

retrans/s:每秒TCP重传数量;

TCP连接数可以用来判断性能问题是否由于建立了过多的连接,进一步可以判断是主动发起的连接,还是被动接受的连接。TCP重传可能是因为网络环境恶劣,或者服务器压

九、top命令

top命令包含了前面好几个命令的检查的内容。比如系统负载情况(uptime)、系统内存使用情况(free)、系统CPU使用情况(vmstat)等。因此通过这个命令,可以相对全面的查看系统负载的来源。同时,top命令支持排序,可以按照不同的列排序,方便查找出诸如内存占用最多的进程、CPU占用率最高的进程等。

但是,top命令相对于前面一些命令,输出是一个瞬间值,如果不持续盯着,可能会错过一些线索。这时可能需要暂停top命令刷新,来记录和比对数据。

2. linux链嶅姟鍣ㄨ礋杞借繃楂榣inux链嶅姟鍣ㄨ礋杞

linux链嶅姟鍣ㄥ崱姝伙纻

棣栧厛锛屽垽鏂姝绘満镄勫师锲狅纴阃氩父𨱒ヨ达纴链瀹规槗瀵艰嚧姝绘満镄勫师锲犳槸绯荤粺璐熻浇杩囬珮锛岃繍琛屼简娑堣楄缉澶у唴瀛樼殑绋嫔簭鍜屽簲鐢ㄣ

杩欎釜镞跺椤彲浠ラ氲繃Ctrl+Alt+F1锛屽垏鎹㈠埌TTY鏂囧瓧鐣岄溃锛屽湪鎻愮ず绗﹀悗闱㈣緭鍏top骞跺洖杞︼纴灏卞彲浠ョ湅鍒板摢浜涜繘绋嬩笌搴旂敤娑堣椾简澶氩皯璧勬簮銆傞氲繃杈揿叆kill𨱒ュ叧闂绋嫔簭灏卞彲浠ヤ简銆

闄や简璐熻浇杩囬珮锛屼竴浜涘簳灞傜殑杞浠祎UG涔熶细瀵艰嚧涓嶅お鍑虹幇镄勬绘満闂棰桡纴濡傛灉鍦ㄥ叧闂绋嫔簭钖庝粛娌℃湁锷犲揩杩愯岄熷害鎴栦粛鏄姝绘満锛岄偅涔埚彲浠ュ皾璇曢吨钖璁$畻链恒

linux链嶅姟鍣ㄦ湁鍝浜涙棩甯告镆ラ”鐩鍟婏纻

1銆乽ptime锻戒护杩欎釜锻戒护鍙浠ュ揩阃熸煡鐪嬫満鍣ㄧ殑璐熻浇𨱍呭喌銆

2銆乨mesg锻戒护璇ュ懡浠や细杈揿嚭绯荤粺镞ュ织镄勬渶钖10琛屻

3銆乿mstat锻戒护vmstat(8)锻戒护锛屾疮琛屼细杈揿嚭涓浜涚郴缁熸牳蹇冩寚镙囷纴杩欎簺鎸囨爣鍙浠ヨ╂垜浠镟磋︾粏镄勪简瑙g郴缁熺姸镐併

4銆乵pstat锻戒护璇ュ懡浠ゅ彲浠ユ樉绀烘疮涓狢PU镄勫崰鐢ㄦ儏鍐点

5銆乸idstat锻戒护pidstat锻戒护杈揿嚭杩涚▼镄凛PU鍗犵敤鐜囥

6銆乮ostat锻戒护7銆乫ree锻戒护free锻戒护鍙浠ユ煡鐪嬬郴缁熷唴瀛樼殑浣跨敤𨱍呭喌锛8銆乻ar锻戒护sar锻戒护鍦ㄨ繖閲屽彲浠ユ煡鐪嬬绣缁滆惧囩殑钖炲悙鐜囥9銆乼op锻戒护鍖呭惈浜嗗墠闱㈠ソ鍑犱釜锻戒护镄勬镆ョ殑鍐呭广

濡备綍浣垮缑Linux链嶅姟鍣ㄤ笅澶氱绣鍗¤礋杞藉潎琛★纻

鈼嗗簲鐢ㄦ湇锷″櫒镄勮礋杞藉潎琛℃妧链濡傛灉灏嗗㈡埛绔镄勮礋杞藉潎琛″眰绉绘嶅埌镆愪竴涓涓闂村钩鍙帮纴褰㈡垚涓夊眰缁撴瀯锛屽垯瀹㈡埛绔搴旂敤鍙浠ヤ笉闇瑕佸仛鐗规畩镄勪慨鏀癸纴阃忔槑镄勯氲繃涓闂村眰搴旂敤链嶅姟鍣ㄥ皢璇锋眰鍧囱鍒扮浉搴旂殑链嶅姟缁撶偣銆傛瘆杈冨父瑙佺殑瀹炵幇镓嬫靛氨鏄鍙嶅悜浠g悊鎶链銆备娇鐢ㄥ弽钖戜唬鐞嗘湇锷″櫒锛屽彲浠ュ皢璇锋眰鍧囧寑杞鍙戠粰澶氩彴链嶅姟鍣锛屾垨钥呯洿鎺ュ皢缂揿瓨镄勬暟鎹杩斿洖瀹㈡埛绔锛岃繖镙风殑锷犻熸ā寮忓湪涓瀹氱▼搴︿笂鍙浠ユ彁鍗囬润镐佺绣椤电殑璁块梾阃熷害锛屼粠钥岃揪鍒拌礋杞藉潎琛$殑鐩镄勚备娇鐢ㄥ弽钖戜唬鐞嗙殑濂藉勬槸锛屽彲浠ュ皢璐熻浇鍧囱鍜屼唬鐞嗘湇锷″櫒镄勯珮阃熺紦瀛樻妧链缁揿悎鍦ㄤ竴璧凤纴鎻愪緵链夌泭镄勬ц兘銆傜劧钥屽畠链韬涔熷瓨鍦ㄤ竴浜涢梾棰桡纴棣栧厛灏辨槸蹇呴’涓烘疮涓绉嶆湇锷¢兘涓挞棬寮鍙戜竴涓鍙嶅悜浠g悊链嶅姟鍣锛岃繖灏变笉鏄涓涓杞绘涧镄勪换锷°傚弽钖戜唬鐞嗘湇锷″櫒链韬铏界劧鍙浠ヨ揪鍒板緢楂樻晥鐜囷纴浣嗘槸阍埚规疮涓娆′唬鐞嗭纴浠g悊链嶅姟鍣ㄥ氨蹇呴’缁存姢涓や釜杩炴帴锛屼竴涓瀵瑰栫殑杩炴帴锛屼竴涓瀵瑰唴镄勮繛鎺ワ纴锲犳ゅ逛簬鐗瑰埆楂樼殑杩炴帴璇锋眰锛屼唬鐞嗘湇锷″櫒镄勮礋杞戒篃灏遍潪甯镐箣澶с傚弽钖戜唬鐞呜兘澶熸墽琛岄拡瀵瑰簲鐢ㄥ岗璁钥屼紭鍖栫殑璐熻浇鍧囱绛栫暐锛屾疮娆′粎璁块梾链绌洪棽镄勫唴閮ㄦ湇锷″櫒𨱒ユ彁渚涙湇锷°备絾鏄闅忕潃骞跺彂杩炴帴鏁伴噺镄勫炲姞锛屼唬鐞嗘湇锷″櫒链韬镄勮礋杞戒篃鍙桦缑闱炲父澶э纴链钖庡弽钖戜唬鐞嗘湇锷″櫒链韬浼氭垚涓烘湇锷$殑鐡堕堛傗梿锘轰簬锘熷悕绯荤粺镄勮礋杞藉潎琛NCSA镄勫彲镓╁𪾢Web鏄链镞╀娇鐢ㄥ姩镐丏NS杞璇㈡妧链镄剋eb绯荤粺銆傚湪DNS涓涓哄氢釜鍦板潃閰岖疆钖屼竴涓钖嶅瓧锛屽洜钥屾煡璇㈣繖涓钖嶅瓧镄勫㈡埛链哄皢寰楀埌鍏朵腑涓涓鍦板潃锛屼粠钥屼娇寰椾笉钖岀殑瀹㈡埛璁块梾涓嶅悓镄勬湇锷″櫒锛岃揪鍒拌礋杞藉潎琛$殑鐩镄勚傚湪寰埚氱煡钖岖殑web绔欑偣閮戒娇鐢ㄤ简杩欎釜鎶链锛氩寘𨰾镞╂湡镄剏ahoo绔欑偣銆163绛夈傚姩镐丏NS杞璇㈠疄鐜拌捣𨱒ョ亩鍗曪纴镞犻渶澶嶆潅镄勯厤缃鍜岀$悊锛屼竴鑸鏀鎸乥ind8.2浠ヤ笂镄勭被unix绯荤粺閮借兘澶熻繍琛岋纴锲犳ゅ箍涓轰娇鐢ㄣ侱NS璐熻浇鍧囱鏄涓绉岖亩鍗曡屾湁鏁堢殑鏂规硶锛屼絾鏄瀛桦湪涓嶅皯闂棰樸傞栧厛锘熷悕链嶅姟鍣ㄦ棤娉旷煡阆撴湇锷$粨镣规槸钖︽湁鏁堬纴濡傛灉链嶅姟缁撶偣澶辨晥锛屼綑钖岖郴缁熶緷铹朵细灏嗗烟钖嶈В鏋愬埌璇ヨ妭镣逛笂锛岄犳垚鐢ㄦ埛璁块梾澶辨晥銆傚叾娆★纴鐢变簬DNS镄勬暟鎹鍒锋柊镞堕棿TTL锛圱imetoLIVE锛夋爣蹇楋纴涓镞﹁秴杩囱繖涓猅TL锛屽叾浠朌NS链嶅姟鍣ㄥ氨闇瑕佸拰杩欎釜链嶅姟鍣ㄤ氦浜掞纴浠ラ吨鏂拌幏寰楀湴鍧鏁版嵁锛屽氨链夊彲鑳借幏寰椾笉钖孖P鍦板潃銆傚洜姝や负浜嗕娇鍦板潃鑳介殢链哄垎閰嶏纴灏卞簲浣縏TL灏介噺鐭锛屼笉钖屽湴鏂圭殑DNS链嶅姟鍣ㄨ兘镟存柊瀵瑰簲镄勫湴鍧锛岃揪鍒伴殢链鸿幏寰楀湴鍧銆傜劧钥屽皢TTL璁剧疆寰楄繃鐭锛屽皢浣緿NS娴侀噺澶у烇纴钥岄犳垚棰濆栫殑缃戠粶闂棰樸傛渶钖庯纴瀹冧笉鑳藉尯鍒嗘湇锷″櫒镄勫樊寮傦纴涔熶笉鑳藉弽鏄犳湇锷″櫒镄勫綋鍓嶈繍琛岀姸镐併傚綋浣跨敤DNS璐熻浇鍧囱镄勬椂鍊欙纴蹇呴’灏介噺淇濊瘉涓嶅悓镄勫㈡埛璁$畻链鸿兘鍧囧寑銮峰缑涓嶅悓镄勫湴鍧銆备緥濡傦纴鐢ㄦ埛A鍙鑳藉彧鏄娴忚埚嚑涓缃戦〉锛岃岀敤鎴稡鍙鑳借繘琛岀潃澶ч噺镄勪笅杞斤纴鐢变簬锘熷悕绯荤粺娌℃湁钖堥傜殑璐熻浇绛栫暐锛屼粎浠呮槸绠鍗旷殑杞娴佸潎琛★纴寰埚规槗灏嗙敤鎴禀镄勮锋眰鍙戝线璐熻浇杞荤殑绔欑偣锛岃屽皢B镄勮锋眰鍙戝线璐熻浇宸茬粡寰堥吨镄勭珯镣广傚洜姝わ纴鍦ㄥ姩镐佸钩琛$壒镐т笂锛屽姩镐丏NS杞璇㈢殑鏁堟灉骞朵笉鐞嗘兂銆傗梿楂桦眰鍗忚鍐呭逛氦鎹㈡妧链闄や简涓婅堪镄勫嚑绉嶈礋杞藉潎琛℃柟寮忎箣澶栵纴杩樻湁鍦ㄥ岗璁鍐呴儴鏀鎸佽礋杞藉潎琛¤兘锷涚殑鎶链锛屽嵆URL浜ゆ崲鎴栦竷灞备氦鎹锛屾彁渚涗简涓绉嶅硅块梾娴侀噺镄勯珮灞傛带鍒舵柟寮忋俉eb鍐呭逛氦鎹㈡妧链妫镆ユ墍链夌殑HTTP鎶ュご锛屾牴鎹鎶ュご鍐呯殑淇℃伅𨱒ユ墽琛岃礋杞藉潎琛$殑鍐崇瓥銆备緥濡傚彲浠ユ牴鎹杩欎簺淇℃伅𨱒ョ‘瀹氩备綍涓轰釜浜轰富椤靛拰锲惧儚鏁版嵁绛夊唴瀹规彁渚涙湇锷★纴甯歌佺殑链塇TTP鍗忚涓镄勯吨瀹氩悜鑳藉姏绛夈侣TTP杩愯屼簬TCP杩炴帴镄勬渶楂桦眰銆傚㈡埛绔阃氲繃鎭掑畾镄勭鍙e彿80镄凾CP链嶅姟鐩存帴杩炴帴鍒版湇锷″櫒锛岀劧钖庨氲繃TCP杩炴帴钖戞湇锷″櫒绔鍙戦佷竴涓狧TTP璇锋眰銆傚岗璁浜ゆ崲镙规嵁鍐呭圭瓥鐣ユ潵鎺у埗璐熻浇锛岃屼笉鏄镙规嵁TCP绔鍙e彿锛屾墍浠ヤ笉浼氶犳垚璁块梾娴侀噺镄勬粸鐣欍傜敱浜庤礋杞藉钩琛¤惧囱佹妸杩涘叆镄勮锋眰鍒嗛厤缁椤氢釜链嶅姟鍣锛屽洜姝わ纴瀹冨彧鑳藉湪TCP杩炴帴镞跺缓绔嬶纴涓擧TTP璇锋眰阃氲繃钖庢墠鑳界‘瀹氩备綍杩涜岃礋杞界殑骞宠銆傚綋涓涓缃戠珯镄勭偣鍑荤巼杈惧埌姣忕掍笂锏剧敋镊充笂鍗冩℃椂锛孴CP杩炴帴銆丠TTP鎶ュご淇℃伅镄勫垎鏋愪互鍙婅繘绋嬬殑镞跺欢宸茬粡鍙桦缑寰堥吨瑕佷简锛岃佸敖涓鍒囧彲鑳芥彁楂樿繖鍑犲悇閮ㄤ唤镄勬ц兘銆傚湪HTTP璇锋眰鍜屾姤澶翠腑链夊緢澶氩硅礋杞藉钩琛℃湁鐢ㄧ殑淇℃伅銆傛垜浠鍙浠ヤ粠杩欎簺淇℃伅涓銮风煡瀹㈡埛绔镓璇锋眰镄刄RL鍜岀绣椤碉纴鍒╃敤杩欎釜淇℃伅锛岃礋杞藉钩琛¤惧囧氨鍙浠ュ皢镓链夌殑锲惧儚璇锋眰寮曞煎埌涓涓锲惧儚链嶅姟鍣锛屾垨钥呮牴鎹甎RL镄勬暟鎹搴撴煡璇㈠唴瀹硅皟鐢–GI绋嫔簭锛屽皢璇锋眰寮曞煎埌涓涓涓撶敤镄勯珮镐ц兘鏁版嵁搴撴湇锷″櫒銆傚傛灉缃戠粶绠$悊锻樼啛鎭夊唴瀹逛氦鎹㈡妧链锛屼粬鍙浠ユ牴鎹瓾TTP鎶ュご镄刢ookie瀛楁垫潵浣跨敤Web鍐呭逛氦鎹㈡妧链鏀瑰杽瀵圭壒瀹氩㈡埛镄勬湇锷★纴濡傛灉鑳戒粠HTTP璇锋眰涓镓惧埌涓浜涜勫緥锛岃缮鍙浠ュ厖鍒嗗埄鐢ㄥ畠浣滃嚭钖勭嶅喅绛栥傞櫎浜员CP杩炴帴琛ㄧ殑闂棰桦栵纴濡备綍镆ユ垒钖堥傜殑HTTP鎶ュご淇℃伅浠ュ强浣滃嚭璐熻浇骞宠鍐崇瓥镄勮繃绋嬶纴鏄褰卞搷Web鍐呭逛氦鎹㈡妧链镐ц兘镄勯吨瑕侀梾棰樸傚傛灉Web链嶅姟鍣ㄥ凡缁忎负锲惧儚链嶅姟銆丼SL瀵硅瘽銆佹暟鎹搴扑簨锷℃湇锷′箣绫荤殑鐗规畩锷熻兘杩涜屼简浼桦寲锛岄偅涔堬纴閲囩敤杩欎釜灞傛$殑娴侀噺鎺у埗灏嗗彲浠ユ彁楂樼绣缁灭殑镐ц兘銆傗梿缃戠粶鎺ュ叆鍗忚浜ゆ崲澶у瀷镄勭绣缁滀竴鑸閮芥槸鐢卞ぇ閲忎笓鐢ㄦ妧链璁惧囩粍鎴愮殑锛屽傚寘𨰾阒茬伀澧欍佽矾鐢卞櫒銆佺3銆4灞备氦鎹㈡満銆佽礋杞藉潎琛¤惧囥佺紦鍐叉湇锷″櫒鍜学eb链嶅姟鍣ㄧ瓑銆傚备綍灏呜繖浜涙妧链璁惧囨湁链哄湴缁勫悎鍦ㄤ竴璧凤纴鏄涓涓鐩存帴褰卞搷鍒扮绣缁沧ц兘镄勫叧阌镐ч梾棰樸傜幇鍦ㄨ稿氢氦鎹㈡満鎻愪緵绗锲涘眰浜ゆ崲锷熻兘锛屽瑰栨彁渚涗竴涓涓镊寸殑IP鍦板潃锛屽苟鏄犲皠涓哄氢釜鍐呴儴IP鍦板潃锛屽规疮娆TCP鍜孶DP杩炴帴璇锋眰锛屾牴鎹鍏剁鍙e彿锛屾寜镦у嵆瀹氱殑绛栫暐锷ㄦ侀夋嫨涓涓鍐呴儴鍦板潃锛屽皢鏁版嵁鍖呰浆鍙戝埌璇ュ湴鍧涓婏纴杈惧埌璐熻浇鍧囱镄勭洰镄

linux濡备綍鍒ゆ柇璐熻浇楂桡纻

璐熻浇(load)鏄痩inux链哄櫒镄勪竴涓閲嶈佹寚镙囷纴鐩磋备简鍙嶅簲浜嗘満鍣ㄥ綋鍓岖殑鐘舵併傚傛灉链哄櫒璐熻浇杩囬珮锛岄偅涔埚规満鍣ㄧ殑镎崭綔灏嗛毦浠ヨ繘琛屻

Linux镄勮礋杞介珮锛屼富瑕佹槸鐢变簬CPU浣跨敤銆佸唴瀛树娇鐢ㄣ両O娑堣椾笁閮ㄥ垎鏋勬垚銆备换镒忎竴椤逛娇鐢ㄨ繃澶氾纴閮藉皢瀵艰嚧链嶅姟鍣ㄨ礋杞界殑镐ュ墽鏀鍗囥

镆ョ湅链嶅姟鍣ㄨ礋杞芥湁澶氱嶅懡浠わ纴w鎴栬卽ptime閮藉彲浠ョ洿鎺ュ𪾢绀鸿礋杞斤纴

$uptime

12:20:30up44days,21:46,2users,loadaverage:8.99,7.55,5.40

$w

12:22:02up44days,21:48,2users,loadaverage:3.96,6.28,5.16

loadaverage鍒嗗埆瀵瑰簲浜庤繃铡1鍒嗛挓锛5鍒嗛挓锛15鍒嗛挓镄勮礋杞藉钩鍧囧笺

3. 怎样提高Linux系统的短连接负载能力

计算机用户舍弃微软,开始应用于是很多人开始应用Linux操作系统,学习Linux时,学习Linux,你可能会遇到Linux系统应对短连接的负载能力问题,这里将介绍Linux系统应对短连接的负载能力的解决方法,在这里拿出来和大家分享一下。在存在大量短连接的情况下,Linux的TCP栈一般都会生成大量的 TIME_WAIT 状态的socket。
你可以用下面的命令看到:
netstat -ant| grep -i time_wait
有时候,这个数目是惊人的:
netstat -ant|grep -i time_wait |wc -l
可能会超过三四万。这个时候,我们需要修改 Linux kernel 的 tcp time wait的时间,缩短之,有个 sysctl 参数貌似可以使用,它是 /proc/sys/net/ipv4/tcp_fin_timeout,缺省值是 60,也就是60秒,很多网上的资料都说将这个数值设置低一些就可以减少netstat 里面的TIME_WAIT状态,但是这个说法是错误的。经过认真阅读Linux的内核源代码,我们发现这个数值其实是输出用的,修改之后并没有真正的读回内核中进行使用,而内核中真正管用的是一个宏定义,在 $KERNEL/include/net/tcp.h里面,有下面的行:
#define TCP_TIMEWAIT_LEN (60*HZ) /* how long to wait to destroy TIME-WAIT * state, about 60 seconds */

而这个宏是真正控制 TCP TIME_WAIT 状态的超时时间的。如果我们希望减少 TIME_WAIT 状态的数目(从而节省一点点内核操作时间),那么可以把这个数值设置低一些,根据我们的测试,设置为 10 秒比较合适,也就是把上面的修改为
#define TCP_TIMEWAIT_LEN (10*HZ) /* how long to wait to destroy TIME-WAIT * state, about 60 seconds */

然后重新编译内核,重启系统即可发现短连接造成的TIME_WAIT状态大大减少:
netstat -ant | grep -i time_wait |wc -l
一般情况都可以至少减少2/3。也能相应提高系统应对短连接的速度。以上就是如何进行Linux系统应对短连接的负载能力介绍。

4. linux下怎么查看服务器性能

1.1 cpu性能查看

1、查看物理cpu个数:

cat /proc/cpuinfo |grep "physical id"|sort|uniq|wc -l

2、查看每个物理cpu中的core个数:

cat /proc/cpuinfo |grep "cpu cores"|wc -l

3、逻辑cpu的个数:

cat /proc/cpuinfo |grep "processor"|wc -l

物理cpu个数*核数=逻辑cpu个数(不支持超线程技术的情况下)

1.2 内存查看

1.3 硬盘查看

1、查看硬盘及分区信息:

fdisk -l

2、查看文件系统的磁盘空间占用情况:

df -h

3、查看硬盘的I/O性能(每隔一秒显示一次,显示5次):

iostat -x 1 5

iostat是含在套装systat中的,可以用yum -y install systat来安装。

常关注的参数:

如%util接近100%,说明产生的I/O请求太多,I/O系统已经满负荷,该磁盘可能存在瓶颈。如idle小于70%,I/O的压力就比较大了,说明读取进程中有较多的wait。

4、查看linux系统中某目录的大小:

-sh /root

如发现某个分区空间接近用完,可以进入该分区的挂载点,用以下命令找出占用空间最多的文件或目录,然后按照从大到小的顺序,找出系统中占用最多空间的前10个文件或目录:

-cksh *|sort -rn|head -n 10

以上命令的详细介绍可如下查询:

5. linux 下查看网络负载命令

用 netstat 查看 Linux 网络状况。
netstat -n | awk '/^tcp/ {++S[$NF]} END {for(a in S) print a, S[a]}'
前面的 netstat -n是netstat的命令,Windows和Linux都可以用,结果显示内容差不多
后面的 awk'/^tcp/ {++S[$NF]} END {for(a in S) print a, S[a]}' 是Linux下的命令,主要作用是对netstat输出的结果进行过滤和处理:
运行这一句之后,显示的结果类似如下:
TIME_WAIT 27
FIN_WAIT1 435
FIN_WAIT2 89
ESTABLISHED 82
SYN_RECV 64
CLOSING 4
LAST_ACK 90
内容解释如下:
TIME-WAIT:等待足够的时间以确保远程TCP接收到连接中断请求的确认
FIN-WAIT-1:等待远程TCP连接中断请求,或先前的连接中断请求的确认
FIN-WAIT-2:从远程TCP等待连接中断请求
ESTABLISHED:代表一个打开的连接
SYN-RECV:再收到和发送一个连接请求后等待对方对连接请求的确认
SYN-SENT:再发送连接请求后等待匹配的连接请求
CLOSING:等待远程TCP对连接中断的确认
CLOSED:没有任何连接状态
CLOSE-WAIT:等待从本地用户发来的连接中断请求
LAST-ACK:等待原来的发向远程TCP的连接中断请求的确认
LISTEN:侦听来自远方的TCP端口的连接请求

6. 阃氲繃Linux锻戒护镆ョ湅绯荤粺骞冲潎璐熻浇镄勬柟娉

杩欑瘒鏂囩珷涓昏佷粙缁崭简阃氲繃Linux锻戒护镆ョ湅绯荤粺骞冲潎璐熻浇镄勬柟娉,瀵逛簬链嶅姟鍣ㄧ$悊锻樻潵璇撮潪甯告湁鐢,闇瑕佺殑链嫔弸鍙浠ュ弬钥冧笅

1銆丩inux绯荤粺镄勫钩鍧囱礋杞界殑姒傚康

链夋椂鍊欐垜浠浼氲夊缑绯荤粺鍝嶅簲寰堟参锛屼絾鏄鍙堟垒涓嶅埌铡熷洜锛岃繖镞跺氨瑕佹煡鐪嫔钩鍧囱礋杞戒简锛岀湅瀹冩槸钖︽湁澶ч噺镄勮繘绋嫔湪鎺挜槦绛夊緟銆傜壒瀹氭椂闂撮棿闅斿唴杩愯岄槦鍒椾腑镄勫钩鍧囱繘绋嬫暟鍙浠ュ弽鏄犵郴缁熺殑绻佸繖绋嫔害锛屾墍浠ユ垜浠阃氩父浼氩湪镊宸辩殑缃戠珯鎴栫郴缁熷彉鎱㈡椂绗涓镞堕棿镆ョ郴缁熺殑璐熻浇锛屽嵆CPU镄勫钩鍧囱礋杞姐

2銆佹煡鐪嫔钩鍧囱礋杞

绌剁珶搴旇ュ备綍镆ョ湅骞冲潎璐熻浇锻?链绠鍗旷殑锻戒护鏄痷ptime锛屽备笅镓绀猴细

浠g爜濡备笅:

[root@localhost 锝滢# uptime

11:31:11 up 11 days, 19:01,2 users,load average: 0.02, 0.01, 0.00

鐩鍓岖殑涓绘祦链嶅姟鍣ㄩ兘鏄鍙屽洓镙革纴链夌浉褰揿己鎭岖殑CPU锛屽仛涓鑸镄勫簲鐢ㄦ湇锷$殑璇濓纴Linux绯荤粺镄勮礋杞借繖鍧楀掍笉鐢ㄦ垜浠𨰾呭绩銆

杩桦彲浠ョ敤w锻戒护𨱒ユ煡鐪嬶纴椤轰究鍙浠ユ煡鐪嬩竴涓嬬郴缁熷綋鍓嶆湁鍝浜涚敤鎴凤纴浠栦滑鍗犵敤浜嗗摢浜涚粓绔锛屽备笅镓绀猴细

浠g爜濡备笅:

[root@localhost 锝滢# w

11:33:00 up 11 days, 19:03,2 users,load average: 0.00, 0.00, 0.00

USER TTYFROMLOGIN@ IDLE JCPU PCPU WHAT

root pts/1113.57.224.309:032:11m0.04s0.04s -bash

root pts/.57.224.311:310.00s0.02s0.00s w

鍙﹀栵纴杩樻湁锷ㄦ佸懡浠top锛岃繖涓锻戒护涔熷彲浠ュ弽鏄犵郴缁熻礋杞芥儏鍐点傚湪涓嬮溃镄勫懡浠ゆ彁绀轰腑锛屾垜浠鍙鍏冲绩锷犵矖瀛椾綋閮ㄥ垎銆

浠g爜濡备笅:

[root@localhost 锝滢# top

top - 11:37:47 up 11 days, 19:08,2 users,load average: 0.00, 0.00, 0.00

Tasks: 122 total, 1 running, 121 sleeping, 0 stopped, 0 zombie

Cpu(s):0.1%us,0.0%sy,0.0%ni, 99.9%id,0.0%wa,0.0%hi,0.0%si,0.0%st

Mem: 4044136k total,1435504k used,2608632k free, 274740k buffers

Swap:8193140k total,0k used,8193140k free, 941884k cached

涓婇溃锷犵矖瀛椾綋鏄剧ず镄勫唴瀹规槸浠涔堟剰镐濆憿?鍐嶉氲繃uptime镆ョ湅涓涓嬨

浠g爜濡备笅:

[root@localhost 锝滢# uptime

11:39:36 up 11 days, 19:16,1 user,load average: 0.09, 0.03, 0.01

铡熸潵瀹冩墍琛ㄧず镄勬槸杩囧幓镄1鍒嗛挓銆5鍒嗛挓鍜15鍒嗛挓鍐呰繘绋嬮槦鍒椾腑镄勫钩鍧囱繘绋嬫暟閲忋

闾d箞锛屽备綍琛¢噺褰揿墠绯荤粺鏄钖﹁礋杞借繃楂桦憿?鍙浠ヤ粠浠ヤ笅鍑犵偣𨱒ヨ冭槛銆

濡傛灉姣忎釜CPU(鍙浠ユ寜CPU镙稿绩镄勬暟閲忚$畻)褰揿墠镄勬椿锷ㄨ繘绋嬫暟涓嶅ぇ浜3锛屽垯绯荤粺镐ц兘镩濂姐

濡傛灉姣忎釜CPU褰揿墠镄勬椿锷ㄨ繘绋嬫暟涓嶅ぇ浜4锛岃〃绀哄彲浠ユ帴鍙椼

濡傛灉姣忎釜CPU褰揿墠镄勬椿锷ㄨ繘绋嬫暟澶т簬5锛屽垯绯荤粺镐ц兘闂棰树弗閲嶃

杩桦彲浠ョ粨钖坴mstat锻戒护𨱒ュ垽鏂鎴戜滑镄勭郴缁熸槸钖﹁繃浜庣箒蹇欙纴濡傛灉纭瀹氩緢绻佸繖镄勮瘽锛屽氨瑕佽冭槛鏄钖︽洿鎹㈡湇锷″櫒鎴栧炲姞CPU镄勪釜鏁颁简銆傛荤粨濡备笅锛

濡傛灉r缁忓父澶т簬3鎴4锛屼笖id缁忓父灏戜簬50锛屽垯琛ㄧずCPU镄勮礋钻峰緢閲嶃

鍦ㄤ笂闱渚嫔瓙涓锛屾垜镄勬湇锷″櫒鏄疨owerEdge 2850锛孋PU鏄鍙屾牳鍙岀嚎绋嬬殑锛屽垯0.09/2=0.045(鍗宠礋杞藉/鐪熷疄CPU涓鏁)锛屾ょ郴缁熺殑CPU璐熻浇锘烘湰鍙浠ュ拷鐣ヤ简銆备簨瀹炰笂锛岀幇鍦ㄤ富娴佹湇锷″櫒 镄凛PU閮藉緢寮烘倣锛屽傛灉涓嶆槸搴旂敤铏氭嫙鍖栫瓑鐗规畩鍦烘櫙锛屽熀链涓婅礋杞介兘寰堟牎

鎸夌収鍓嶉溃镄勮$畻鍏寮忥纴鎴戞墍閰岖疆Nagios鎶ヨ︾殑CPU璐熻浇阒埚 涓篊PU镙稿绩镄勬暟閲(鍗矫PU镄勭墿鐞嗕釜鏁懊楁牳鏁)銆傝缮鏄浠ユ垜镄勬湇锷″櫒PowerEdge 2850涓轰緥锛屽叾CPU镙稿绩镄勬暟閲忎负2脳2=4锛屽垯璁剧疆鎶ヨ﹀间负4銆傝繖镙疯剧疆鏄钖堢悊镄勶纴锲犱负姣旷珶涓嶆槸姣忎釜搴旂敤链嶅姟鍣ㄧ殑CPU閮芥敮鎸佸氭牳蹇冿纴姣旷珶鏁翠釜缃戠珯涓 杩樻湁浜涙ц兘姣旇缉寮辩殑链嶅姟鍣ㄦ槸鐢ㄦ潵锅氩囦唤镄勚

7. linux镄刢pu璐熻浇杩囬珮linux镄刢pu璐熻浇

链嶅姟鍣–PU璐熻浇杩囬珮锛屽备綍瀹氢綅闂棰桡纻

涓涓搴旂敤鍗犵敤CPU寰堥珮锛岄櫎浜嗙‘瀹炴槸璁$畻瀵嗛泦鍨嫔簲鐢ㄤ箣澶栵纴阃氩父铡熷洜閮芥槸鍑虹幇浜嗘诲惊鐜銆侰PU璐熻浇杩囬珮瑙e喅闂棰樿繃绋嬶细

浣跨敤銆恡op銆戝懡浠ゅ畾浣嶅纾甯歌繘绋嬶纴鍙鍙戠幇12836镄凛PU鍜屽唴瀛桦崰鐢ㄧ巼閮介潪甯搁珮

澶囨敞锛歵op锻戒护榛樿ゆ儏鍐典笅锛屾槸姣3绉掑埛鏂颁竴娆°备篃鍙浠ラ氲繃top-d鍒锋柊镞堕棿闂撮殧>𨱒ユ寚瀹氩埛鏂伴戠巼锛屽伥op-d0.1鎴杢op-d0.01绛夈伥op镓ц屾椂锛屼篃鍙浠ユ寜钬渟钬濋敭锛屼慨鏀规椂闂撮棿闅斻

浣跨敤銆恡op-H-p杩涚▼鍙枫戞煡鐪嫔纾甯哥嚎绋

浣跨敤銆恜rintf"%xn"绾跨▼鍙枫戝皢寮傚父绾跨▼鍙疯浆鍖栦负16杩涘埗

浣跨敤銆恓stack杩涚▼鍙穦grep16杩涘埗寮傚父绾跨▼鍙-A90銆戞潵瀹氢綅寮傚父浠g爜镄勪綅缃锛堟渶钖庣殑-A90鏄镞ュ织琛屾暟锛屼篃鍙浠ヨ緭鍑轰负鏂囨湰鏂囦欢鎴栦娇鐢ㄥ叾浠栨暟瀛楋级銆傚彲浠ョ湅鍒板纾甯镐唬镰佺殑浣岖疆銆

镓惧埌鐩稿簲浠g爜妫镆ワ纴鍙戠幇纭瀹炴湁姝诲惊鐜瀛桦湪銆

鎺掓煡CPU鏁呴㱩镄勫父鐢ㄥ懡浠わ细

top锻戒护锛歀inux锻戒护銆傚彲浠ユ煡鐪嫔疄镞剁殑CPU浣跨敤𨱍呭喌銆备篃鍙浠ユ煡鐪嬫渶杩戜竴娈垫椂闂寸殑CPU浣跨敤𨱍呭喌銆

PS锻戒护锛歀inux锻戒护銆傚己澶х殑杩涚▼鐘舵佺洃鎺у懡浠ゃ傚彲浠ユ煡鐪嬭繘绋嬩互鍙婅繘绋嬩腑绾跨▼镄勫綋鍓岰PU浣跨敤𨱍呭喌銆傚睘浜庡綋鍓岖姸镐佺殑閲囨牱鏁版嵁銆

jstack锛钦ava鎻愪緵镄勫懡浠ゃ傚彲浠ユ煡鐪嬫煇涓杩涚▼镄勫綋鍓岖嚎绋嬫爤杩愯屾儏鍐点傛牴鎹杩欎釜锻戒护镄勮緭鍑哄彲浠ュ畾浣嶆煇涓杩涚▼镄勬墍链夌嚎绋嬬殑褰揿墠杩愯岀姸镐併佽繍琛屼唬镰侊纴浠ュ强鏄钖︽婚挛绛夌瓑銆

pstack锛歀inux锻戒护銆傚彲浠ユ煡鐪嬫煇涓杩涚▼镄勫綋鍓岖嚎绋嬫爤杩愯屾儏鍐点

热点内容
解压剃发 发布:2024-05-21 03:16:27 浏览:640
服务器怎么连接到电脑显示屏上 发布:2024-05-21 02:38:21 浏览:285
织梦安装数据库连接失败 发布:2024-05-21 02:37:45 浏览:258
python编程入门经典pdf 发布:2024-05-21 02:31:45 浏览:6
arm编译添加驱动 发布:2024-05-21 02:02:28 浏览:476
安卓设置页面是怎么 发布:2024-05-21 01:32:51 浏览:521
学生成绩管理系统数据库设计 发布:2024-05-21 01:14:41 浏览:43
我的世界什么指令直接出现服务器 发布:2024-05-21 01:10:00 浏览:397
星等算法 发布:2024-05-21 00:53:06 浏览:509
李兴华的java视频 发布:2024-05-21 00:49:55 浏览:605