当前位置:科学 > 正文

天天新资讯:10个监控 Linux 系统性能的工具和命令

2023-02-20 18:48:39  来源:运维笔记

监控 Linux 系统性能的一些工具和命令:

top:这是一个常用的命令行工具,用于查看系统中最耗费 CPU 和内存的进程。htop:与 top 类似的命令行工具,但提供了更多的信息和交互式界面。iostat:用于查看 CPU 使用率、磁盘 I/O 和网络 I/O 等系统统计信息。vmstat:显示系统虚拟内存、进程、CPU 和 I/O 等信息。sar:系统活动报告工具,可监视 CPU 使用率、内存使用情况、网络活动和磁盘 I/O 等信息。free:用于查看系统中空闲和已用内存的总量。netstat:显示网络连接、路由表、接口统计信息等。iftop:实时监视网络流量。tcpdump:抓取和分析网络流量。strace:用于跟踪系统调用和信号。

top命令详解

top 是一个常用的命令行工具,用于查看系统中最耗费 CPU 和内存的进程。它会实时显示系统的性能指标,并按照 CPU 使用率、内存使用率、IO 等指标对进程进行排序。

top 命令的详解:


【资料图】

1、启动 top 命令

在终端中输入 top 命令即可启动。默认情况下,top 命令会每隔 3 秒钟更新一次屏幕信息。可以使用 -d 选项来指定更新间隔,例如:top -d 5 表示每 5 秒钟更新一次。

2、top 命令的屏幕输出

top 命令的屏幕输出分为多个区域:

第一行是系统总体信息,包括系统当前时间、运行时间、登录用户数、系统负载平均值等。第二行是 CPU 的总体使用情况,包括 CPU 的总使用率、用户态和系统态的 CPU 使用率、空闲 CPU 的百分比等。第三行是内存使用情况,包括总内存、已用内存、空闲内存、缓存等。第四行是交换空间的使用情况。第五行至第八行是进程列表,按照 CPU 使用率、内存使用率等指标排序。可以使用键盘上下箭头键和 PgUp/PgDn 键进行滚屏,使用左右箭头键进行排序。

3、top 命令的交互操作

在 top 命令中,可以使用一些键盘快捷键进行交互操作:

k:终止一个进程,需要输入进程 ID。r:修改进程的优先级,需要输入进程 ID 和新的优先级值。H:显示进程的线程信息。h:显示帮助信息。q:退出 top 命令。

4、top 命令的选项

除了上面提到的 -d 选项之外,还有一些其他常用的选项:

-p:指定要监视的进程 ID。-U:指定要监视的用户名。-u:指定要监视的用户和进程 ID。-b:以批处理模式运行 top 命令,不进行交互操作。-n:指定 top 命令运行的次数,然后自动退出。

综上所述,top 命令是一个非常实用的系统监控工具,可以帮助我们快速定位系统中 CPU 和内存使用率较高的进程,并进行优化。

top命令截图


htop详解

htop 是一种交互式的命令行进程查看工具,它提供了比 top 更加强大和直观的功能。以下是 htop 命令的详解:

1、htop 工具安装

Ubuntu 系统
sudo apt-get install htop
CentOS 系统
sudo yum install epel-releasesudo yum install htop
Debian 系统
sudo apt-get install htop
Arch Linux 系统
sudo pacman -S htop
Fedora 系统
sudo dnf install htop

2、启动 htop 命令

在终端中输入 htop 命令即可启动。与 top 命令不同,htop 命令的默认更新间隔是 2 秒。可以使用 -d 选项来指定更新间隔,例如:htop -d 5 表示每 5 秒钟更新一次。

3、htop 命令的屏幕输出

htop 命令的屏幕输出分为多个区域:

第一行是系统总体信息,包括系统当前时间、运行时间、负载平均值等。第二行是 CPU 和内存的总体使用情况,包括 CPU 的总使用率、内存使用率等。第三行是交换空间的使用情况。第四行是进程列表,按照 CPU 使用率、内存使用率等指标排序。可以使用键盘上下箭头键和 PgUp/PgDn 键进行滚屏,使用左右箭头键进行排序。在进程列表下方是一些统计信息,包括 CPU 时间、内存和交换空间的使用情况、进程数等。

4、htop 命令的交互操作

在 htop 命令中,可以使用一些键盘快捷键进行交互操作:

k:终止一个进程,需要输入进程 ID。F2:进入 htop 的设置界面,可以修改列的显示、排序、颜色等设置。F3:进行进程搜索,需要输入搜索关键字。F4:进行进程筛选,可以选择进程状态、用户等条件进行筛选。F5:刷新当前进程列表。F6:按照特定的列进行排序,例如按照进程名称、CPU 使用率、内存使用率等进行排序。F7:减少进程的优先级。F8:增加进程的优先级。F9:弹出进程终止菜单,可以选择不同的终止方式。h:显示帮助信息。q:退出 htop 命令。

5、htop 命令的选项

除了上面提到的 -d 选项之外,还有一些其他常用的选项:

-p:指定要监视的进程 ID。-u:指定要监视的用户名。-t:只显示特定进程状态的进程。-C:关闭彩色显示。-h:显示帮助信息。--version:显示 htop 的版本信息。

执行htop -p pid 查看相应进程的资源使用情况,如下图:

htop执行结果


iostat命令详解

iostat 是一个 Linux 系统性能监视工具,它可以用来监视系统的磁盘 I/O、CPU 和其他设备的使用情况。以下是 iostat 命令的详解:

1、iostat工具安装

Ubuntu 系统
sudo apt-get install sysstat
CentOS 系统
sudo yum install sysstat
Debian 系统
sudo apt-get install sysstat
Arch Linux 系统
sudo pacman -S sysstat
Fedora 系统
sudo dnf install htop

2、启动 iostat 命令

在终端中输入 iostat 命令即可启动。iostat 命令的默认更新间隔是 1 秒钟,可以使用 -n 参数来指定更新间隔,例如:iostat -n 5 表示每 5 秒钟更新一次。

3、iostat 命令的屏幕输出

iostat 命令的输出包含了三个部分:

CPU 利用率统计:包括用户态、系统态和空闲态三种状态的 CPU 使用率。磁盘 I/O 统计:包括每个磁盘的读写速度、IOPS、延迟等指标。其他设备统计:包括每个设备的使用情况,如网络接口、NFS 等。

4、iostat 命令的选项

iostat 命令支持多种选项,以下是常用的选项:

-c:仅显示 CPU 利用率统计。-d:仅显示磁盘 I/O 统计。-h:以易读的格式显示统计结果。-k:以 KB/s 为单位显示磁盘 I/O 统计结果。-m:以 MB/s 为单位显示磁盘 I/O 统计结果。-t:在输出中包含时间戳。-x:显示扩展统计信息,包括 CPU 上下文切换数、进程数量等。-y:仅显示网络 I/O 统计信息。-p:仅显示指定磁盘的 I/O 统计信息。

5、iostat 命令的输出结果解释

iostat 命令的输出结果包含了很多信息,以下是一些常见的统计指标的解释:

%user:表示 CPU 用户态使用率。%system:表示 CPU 系统态使用率。%idle:表示 CPU 空闲态使用率。r/s:表示磁盘每秒的读操作数。w/s:表示磁盘每秒的写操作数。rkB/s:表示磁盘每秒读取的数据量,单位为 KB。wkB/s:表示磁盘每秒写入的数据量,单位为 KB。await:表示磁盘平均 I/O 响应时间,单位为毫秒。svctm:表示磁盘平均 I/O 服务时间,单位为毫秒。%util:表示磁盘使用率。

执行iostat 1 10 命令结果如下

iostat命令结果


vmstat命令详解

vmstat 是一个用于 Linux 和 Unix 系统的命令,用于显示系统的虚拟内存状态和进程信息。该命令提供了有关系统内存、虚拟内存、交换空间、磁盘 I/O、CPU 活动和进程活动的实时统计信息。

vmstat 命令的语法如下:

vmstat [options] [delay [count]]

其中,delay 表示间隔时间,单位为秒,表示每隔 delay 秒显示一次统计信息;count 表示显示次数。

以下是 vmstat 命令的一些常用选项:

-a:显示所有信息,等效于 -s-f:显示 fork 的次数-m:显示内存信息-n:不显示头部信息-s:显示摘要信息-d:显示磁盘信息-t:显示时间戳

下面是 vmstat 命令输出的字段说明:

r: 系统运行队列中的进程数量,包括正在运行和等待运行的进程b: 等待资源的进程数量,即处于不可中断状态的进程数量swpd: 虚拟内存使用情况,即交换区使用情况free: 空闲内存的大小buff: 用作缓冲的内存大小cache: 用作缓存的内存大小si: 每秒从磁盘读入虚拟内存的大小so: 每秒写入磁盘的虚拟内存大小bi: 每秒从块设备(磁盘)读入的块数量bo: 每秒写入块设备(磁盘)的块数量in: 每秒中断的数量cs: 每秒上下文切换的次数us: 用户空间进程占用 CPU 时间的百分比sy: 内核空间进程占用 CPU 时间的百分比id: 空闲 CPU 时间的百分比wa: 等待 I/O 的 CPU 时间的百分比

vmstat 命令可以帮助系统管理员快速检测系统的性能瓶颈,如内存不足、磁盘 I/O 瓶颈等。同时,vmstat 命令还可以监控进程和系统活动,从而帮助用户了解系统运行情况。

sar命令详解

sar 命令是 Linux 和 Unix 系统中一个强大的性能监测工具,用于获取系统的各种统计数据,例如 CPU 使用率、内存使用情况、网络传输速率等等。通过对这些数据的分析,可以帮助管理员了解系统的性能瓶颈,诊断问题,并作出必要的优化。

sar 命令的语法如下:

sar [options] [interval [count]]

其中,interval 表示每隔 interval 秒获取一次统计数据,count 表示获取的统计数据的次数。如果省略 interval 和 count,sar 将默认每隔一分钟获取一次统计数据,无限循环。

以下是 sar 命令的一些常用选项:

-u:显示 CPU 使用率-r:显示内存使用情况-n:显示网络传输速率-b:显示磁盘 I/O 统计信息-q:显示系统队列和负载平衡信息-P:显示每个 CPU 核的使用率-d:显示磁盘活动情况-w:显示系统交换区的使用情况-p:指定监测某个进程的性能

下面是 sar 命令输出的一些常用字段说明:

CPU:各个 CPU 核的使用率,包括用户态、系统态和空闲时间%user:用户态 CPU 使用率%nice:优先级较低的进程占用 CPU 时间的百分比%system:内核态 CPU 使用率%iowait:等待 I/O 操作完成的时间占用 CPU 时间的百分比%steal:其他虚拟机或物理机占用 CPU 时间的百分比%idle:CPU 空闲时间占用 CPU 时间的百分比memory:内存使用情况,包括物理内存、交换区等kbmemfree:空闲物理内存大小kbmemused:已用物理内存大小kbbuffers:缓冲区大小kbcached:缓存大小kbswpfree:空闲交换区大小kbswpused:已用交换区大小swap:交换区的使用情况pswpin:每秒从交换区读入的数据量pswpout:每秒写入交换区的数据量io:磁盘 I/O 统计信息tps:每秒磁盘 I/O 操作数rd_sec/s:每秒从磁盘读入的数据量wr_sec/s:每秒写入磁盘的数据量queue:队列和负载平

free命令详解

free 命令是 Linux 系统中用于查看内存使用情况的命令,可以显示系统的物理内存和交换区使用情况。通过使用 free 命令,可以了解当前系统中空闲内存的大小、已用内存的大小、交换区的使用情况等等。free 命令通常用于查看系统内存使用情况,以便在需要时进行优化或调整。

free 命令的语法如下:

free [options]

以下是 free 命令的一些常用选项:

-b:以字节为单位显示内存使用情况-k:以千字节为单位显示内存使用情况(默认选项)-m:以兆字节为单位显示内存使用情况-g:以吉字节为单位显示内存使用情况-t:在输出最后一行显示总内存使用情况

下面是 free 命令输出的一些常用字段说明:

total:系统的物理内存总量used:已用物理内存大小free:空闲物理内存大小shared:共享内存大小buffers:缓存区大小cached:缓存大小available:可用物理内存大小Swap:交换区的使用情况total:交换区总大小used:已用交换区大小free:空闲交换区大小

其中,available 字段表示当前可用的物理内存大小,它的值可以根据当前内存使用情况动态调整。因此,available 字段通常比 free 字段更准确地反映了当前系统的内存使用情况。

netstat命令详解

netstat 命令是 Linux 系统中常用的网络工具,可以用来显示网络连接状态、路由表和网络接口等信息。通过使用 netstat 命令,可以了解当前系统中的网络连接情况,以便在需要时进行优化或调整。

netstat 命令的语法如下:

netstat [options]

以下是 netstat 命令的一些常用选项:

-a:显示所有连接和监听端口-t:显示 TCP 连接-u:显示 UDP 连接-n:以数字形式显示网络地址和端口号-p:显示正在使用指定协议的程序-r:显示系统路由表-i:显示网络接口信息

下面是 netstat 命令输出的一些常用字段说明:

Proto:连接使用的协议(TCP 或 UDP)Recv-Q:接收队列的大小Send-Q:发送队列的大小Local Address:本地地址和端口号Foreign Address:远程地址和端口号State:连接状态

在 netstat 的输出中,常见的连接状态有:

ESTABLISHED:连接已建立SYN_SENT:正在等待连接确认(SYN)SYN_RECV:收到连接确认请求(SYN)FIN_WAIT1:等待远程端关闭连接FIN_WAIT2:远程端已关闭连接,等待本地端关闭连接TIME_WAIT:等待远程端确认已关闭连接CLOSE_WAIT:等待远程端关闭连接LAST_ACK:等待远程端确认已关闭连接LISTEN:正在监听端口,等待连接CLOSING:正在关闭连接

在实际应用中,常用的 netstat 命令选项是 -t(显示 TCP 连接)、-u(显示 UDP 连接)和 -n(以数字形式显示网络地址和端口号)。通过结合其他命令和选项,可以进一步了解系统的网络连接状态和性能瓶颈。

iftop命令详解

iftop 是一款类似于 top 命令的 Linux 网络监测工具,可以实时显示网络流量的情况,支持按源地址、目标地址、端口号等多种方式进行排序。通过使用 iftop 命令,可以方便地查看当前网络连接的情况,了解哪些 IP 地址或端口号正在占用带宽。

iftop 命令的语法如下:

iftop [options]

以下是 iftop 命令的一些常用选项:

-n:以数字形式显示网络地址和端口号-N:以主机名形式显示网络地址和端口号-i:指定要监测的网络接口,默认为第一个非环回的网络接口-F:使用 BPF 过滤器进行数据包过滤-B:使用字节为单位显示带宽使用情况

下面是 iftop 命令输出的一些常用字段说明:

SrcIP:源 IP 地址DstIP:目标 IP 地址Proto:使用的协议(TCP 或 UDP)SInt:源端口号DInt:目标端口号Rate:数据包速率Cum:累计流量

在 iftop 的输出中,速率(Rate)和累计流量(Cum)都有不同的单位(如 Kbps、Mbps、GB),可以通过 -B 选项设置以字节为单位显示。

除了以上常用选项,iftop 还支持其他一些高级功能,比如流量统计、IP/MAC 地址映射、DNS 解析等。通过熟练掌握 iftop 的用法,可以更加方便地进行网络流量监测和调优。

tcpdump命令详解

tcpdump 命令是一个常用的网络数据包分析工具,可以用于捕获、解析和显示网络数据包的内容。通过使用 tcpdump 命令,可以对网络流量进行深入分析,了解网络通信的细节和性能瓶颈。

tcpdump 命令的语法如下:

tcpdump [options] [expression]

以下是 tcpdump 命令的一些常用选项:

-i:指定要监听的网络接口-n:以数字形式显示网络地址和端口号-X:以十六进制和 ASCII 码形式显示数据包的内容-vv:输出详细的信息-c:设置捕获的数据包数量-w:将数据包写入文件

tcpdump 还支持一些复杂的过滤表达式,可以根据网络地址、协议、端口号等多种条件对数据包进行过滤和分析。

以下是 tcpdump 命令的一些常用表达式:

host:指定要监听的主机名或 IP 地址net:指定要监听的网络地址port:指定要监听的端口号proto:指定要监听的协议

使用 tcpdump 命令可以捕获网络数据包,查看其详细信息。可以根据源和目的地址、端口号和协议过滤出需要的数据包。此外,还可以将捕获的数据包保存到文件中,以供后续分析和处理。tcpdump 是一个功能强大的网络数据包分析工具,在网络故障排除和性能调优中有着广泛的应用。

strace命令详解

strace 命令是一个在 Linux 系统上常用的系统调用跟踪工具,可以用于监视进程的系统调用和信号,跟踪进程执行的每一个步骤,并输出到标准输出或文件中。strace 命令可以帮助程序员和系统管理员分析进程在运行过程中出现的问题,了解进程与系统之间的交互情况,查找程序的性能瓶颈。

strace 命令的语法如下:

strace [options] command [args]

以下是 strace 命令的一些常用选项:

-p:指定要跟踪的进程 ID-o:将输出写入文件-e:指定要跟踪的系统调用-s:指定输出字符串的最大长度-c:显示系统调用的统计信息

strace 命令输出的信息包括进程执行过程中发生的系统调用和信号,以及这些系统调用和信号的参数和返回值等详细信息。这些信息可以帮助我们了解进程与操作系统之间的交互细节,并可以用于调试和优化程序的性能。

以下是 strace 命令的一些常用选项:

open:打开文件read:从文件读取数据write:向文件写入数据close:关闭文件execve:执行新进程brk:调整进程的数据段大小munmap:释放内存映射区ioctl:执行设备控制命令select:等待一组文件描述符上的 I/O 事件

通过 strace 命令,可以监视进程的系统调用和信号,从而了解进程与操作系统之间的交互细节,并可以用于调试和优化程序的性能。strace 命令在系统管理和软件开发中都有广泛的应用。

关键词: Linux Arch Linux 中央处理器 Ubuntu Debian 交换空间 Fedora CentOS

推荐阅读

地震发生时躲在哪里?地震发生时躲在哪里存活率较高?

关于到现在蚂蚁庄园小鸡问答知识科普:地震发生时躲在什么空间里自救存活率较高这个话题,相信很多小伙伴都是非常有兴趣了解的吧,因为这个 【详细】

卫生许可证查询官网 食品卫生许可证查询系统?

卫生许可证查询官网食品卫生许可证查询系统?卫生许可证查询要怎么查?我们浏览器搜索 全国食品经营许可社会公众查询第一个搜索结果是我们要 【详细】

华硕电脑售后服务点?上海华硕笔记本服务点盘点

上海华硕笔记本修理点华硕电脑售后服务点?华硕在全国各地都有服务点。以下是上海华硕的服务点:1、上海松江区乐都路251号乐都大厦13楼J~K座 【详细】

发展可再生能源是为什么 发展可再生能源有什么意义?

不可再生能源在自然界已经形成了上亿年,短期内无法恢复。随着大规模开发利用,储量越来越少,总有一天会枯竭。那么,什么是不可再生能源, 【详细】

中国面积最大的湖 中国面积最大的湖排行榜前十名

青海湖是中国最大的湖泊,总面积4456平方公里,周长360多公里,著名的太湖因为面积不到它的一半而显得微不足道。接下来,小编将带你了解中 【详细】

相关新闻

关于我们  |  联系方式  |  免责条款  |  招聘信息  |  广告服务  |  帮助中心

联系我们:85 572 98@qq.com备案号:粤ICP备18023326号-40

科技资讯网 版权所有