Code前端首页关于Code前端联系我们

Linux服务器性能监控常用命令指南

terry 2年前 (2023-09-28) 阅读数 58 #未命名

当出现性能问题时,您可以通过Linux操作系统命令获取性能信息。本节将介绍一些常用的Linux性能监控命令。

top命令——进程状态监控

该命令适合实时掌握操作系统的整体情况,可以实时反映系统中各个进程的资源使用情况,类似于task窗口管理器。使用top命令显示进程信息。

# top
复制代码
linux服务端常用性能监控命令指南

图像的上半部分显示了操作系统的各种信息,包括CPU使用率、内存、正在运行的进程等。下半部分显示活动较频繁的流程,您可以删除这些流程中的问题点。识别出可疑进程后,您可以指定相关进程、设置信息更新时间、查看整个命令。我们看一个例子,指定进程9836每5秒显示一次该进程的资源使用情况。

# top –d 5 –p 9836 -c
复制代码

ps 命令 – 显示当前进程

该命令适合显示某一时刻存在的进程,以及这些进程的信息和状态等。通过ps命令,可以查出当前进程的状态,从而确定问题的原因。使用 ps 命令可以显示系统当前运行的所有进程。

# ps -ef
复制代码

同时可以指定相关流程的显示。让我们看一个显示所有 java 进程的示例。

# ps –ef | grep java
复制代码
linux服务端常用性能监控命令指南

netstat 命令 - 检查网络连接状态

该命令可以检测 Linux 的网络状态,适合检查网络连接信息。在它们之间您可以查看所有当前连接。

# netstat -a
复制代码

此外,还可以监视 TCP 连接。

# netstat –atl
复制代码
linux服务端常用性能监控命令指南

您甚至可以计算端口上当前的连接数。让我们看一个示例,检查端口 10090 上当前的连接数。

# netstat -an | grep 10090 | wc -l
复制代码

该命令适用于监控系统设备的 IO 负载以及监控系统磁盘流量的活动。第一次启动iostat时,会显示系统启动以来的各种统计信息。运行 iostat 后,会显示自上次运行该命令以来的统计信息。用户通过输入统计数据的条数和时间即可得到想要的统计信息。让我们看一个示例,每秒采样一次,连续采样 5 次,以观察磁盘 IO 使用情况。

# iostat –k 1 5
复制代码
linux服务端常用性能监控命令指南

sar 命令 – 性能监控

此命令可用于监控 CPU 使用率和空闲时间,以及磁盘 I/O 使用率、网卡流量等。对于CPU监控,可以使用-u参数输出CPU使用情况统计信息。我们看一个例子,每秒采样一次,连续 10 次,观察 CPU 使用情况。

# sar –u 1 10
复制代码
linux服务端常用性能监控命令指南

值得注意的是,如果%user + %sys超过85%,进程可能会花时间在运行队列中等待,因此响应时间和吞吐量都会受到影响。然而,100%的使用率并不一定意味着CPU是性能瓶颈。这时可以进一步检查vmstat命令中的r值是否超过服务器的CPU数量。另外%system比较大,说明在系统管理上花费了很多时间。需要进一步分析其他软件和硬件因素。要监视磁盘 I/O,可以使用 –d 参数输出每个块设备的活动信息。我们来看一个例子,每秒采样一次,连续 10 次,观察磁盘 I/O 使用情况。其中-p参数可以打印出磁盘的设备名。

# sar –pd 1 10
复制代码
linux服务端常用性能监控命令指南

如果%util接近100%,则有可能由于产生过多的I/O请求,I/O系统已经满了,因此存在磁盘瓶颈。另外,如果%await远大于%svctm,则可能是磁盘I/O队列太长,导致响应时间变慢。

vmstat命令——虚拟内存监控

该命令适合监控CPU使用情况、内存使用情况、虚拟内存交换、IO读写等。我们看一个例子,每秒采样一次,连续5次,观察虚拟内存的使用情况。

# vmstat 1 5
复制代码
linux服务端常用性能监控命令指南

其中,第一行显示的是Linux操作系统启动后的平均值,所以一般看第二行之后的值。 linux服务端常用性能监控命令指南

其中swpd、si等三个指标的值都比较高,很可能是内存不足造成的。如果缓存使用率很低,而swap的si左右数据值比较高,则应该警惕内存性能问题。另外,需要注意的是,当内存严重不足时,系统会频繁使用分页和交换,这会增加磁盘I/O负载,进一步降低系统的作业执行速度。即系统I/O资源问题又会出现。影响内存资源的分配。

nmon 命令 – 性能监控

nmon 可以一屏显示所有重要的性能信息,包括 CPU 信息、内存信息、网络信息、磁盘 I/O 信息等,并动态更新。可以从IBM官网免费下载,也可以直接通过yum命令安装。这里使用wget方式下载安装。

# wget http://sourceforge.net/projects/nmon/files/nmon_linux_14i.tar.gz
# tar zxvf nmon_linux_14i.tar.gz
# chmod 777 nmon_x86_64_sles11
复制代码

至此,安装完成。从以下命令开始。

# ./nmon_x86_64_sles11
复制代码

在启动界面中,输入C显示CPU信息,输入M显示内存信息,输入N显示网络信息,输入D显示硬盘I/O信息。 linux服务端常用性能监控命令指南

作者:梁贵昭

版权声明

本文仅代表作者观点,不代表Code前端网立场。
本文系作者Code前端网发表,如需转载,请注明页面地址。

热门