访问手机版  

Linux常用命令|Linux培训学习|考试认证|工资待遇与招聘,认准超级网工!

招聘|合作 登陆|注册

网络工程师培训

当前位置:网络工程师 > 技术课程 > linux > 热点关注 > linux常用命令

Linux服务器性能的日常命令和工具大全

时间:2019-11-13

linux命令大全进程_linux命令大全_linux命令大全

Linux服务器性能的日常命令和工具大全

概述

通过使用以下命令和工具,可以在1分钟内对系统资源使用情况有个大致的了解

其中一些命令需要安装sysstat包,有一些由procps包提供。这些命令的输出,有助于快速定位性能瓶颈,检查出所有资源(CPU、内存、磁盘IO等)的利用率(utilization)、饱和度(saturation)和错误(error)度量,也就是所谓的USE方法

下面我们来逐一介绍下这些命令和工具,有关这些命令和工具更多的参数和说明,请参照手册

1.uptime

$uptime

23:51:26up21:31,1user,loadaverage:30.02,26.43,19.02

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

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

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

2.dmesg | tail

$dmesg|tail

[1880957.563150]perlinvokedoom-killer:gfp_mask=0x280da,order=0,oom_score_adj=0

[...]

[1880957.563400]Outofmemory:Killprocess18694(perl)score246orsacrificechild

[1880957.563408]Killedprocess18694(perl)total-vm:1972392kB,anon-rss:1953348kB,file-rss:0kB

[2320864.954447]TCP:PossibleSYNfloodingonport7001.Droppingrequest.CheckSNMPcounters.

该命令会输出系统日志的最后10行。示例中的输出,可以看见一次内核的

oom kill和一次TCP丢包。这些日志可以帮助排查性能问题。千万不要忘了这一步。

3.vmstat— 虚拟内存统计

vmstat命令是用于显示虚拟内存、内核线程、磁盘、系统进程、I/O模块、中断、CPU活跃状态等更多信息

在默认的情况下,Linux系统是没有vmstat这个命令的,如果你要使用它

必须安装一个包名叫sysstat的程序包。命令格式常用用法如下:

$vmstat1

procs---------memory-------------swap-------io-----system--------cpu-----

rbswpdfreebuffcachesisobiboincsussyidwast

3400200889792737085918280005610961300

320020088992073708591860000592132844282981100

320020089011273708591860000095012154991000

32002008895687371259185600048119002459990000

 上一个教程:Linux sftp命令详解