分析系统性能-sar命令详解-Linux (分析系统性能的基本方法有)

教程大全 2025-07-16 06:41:03 浏览

sar 命令很强大,是分析系统性能的重要工具之一,通过该命令可以全面地获取系统的 cpu、运行队列、磁盘读写(I/O)、分区(交换区)、内存、CPU 中断和网络等性能数据。

sar 命令的基本格式如下:

[root@localhost ~]# sar [options] [-o filename] interval [count]

此命令格式中,各个参数的含义如下:

分析系统性能的基本方法有
表 1 sar 命令行选项及功能
sar命令选项 功能
显示系统所有资源设备(CPU、内存、磁盘)的运行状况。
显示系统所有 CPU 在采样时间内的负载状态。
显示当前系统中指定 CPU 的使用情况。
显示系统所有硬盘设备在采样时间内的使用状态。
显示系统内存在采样时间内的使用情况。
显示缓冲区在采样时间内的使用情况。
显示 inode 节点、文件和其他内核表的统计信息。
显示网络运行状态,此选项后可跟 DEV(显示网络接口信息)、EDEV(显示网络错误的统计数据)、SOCK(显示套接字信息)和 FULL(等同于使用 DEV、EDEV和SOCK)等,有关更多的选项,可通过执行 man sar 命令查看。
显示运行列表中的进程数、进程大小、系统平均负载等。
显示进程在采样时的活动情况。
显示终端设备在采样时间的活动情况。
显示系统交换活动在采样时间内的状态。

【例 1】

如果想要查看系统 CPU 的整理负载状况,每 3 秒统计一次,统计 5 次,可以执行如下命令:

[root@localhost ~]# sar -u 3 5Linux 2.6.32-431.el6.x86_64 (localhost)10/25/2019_x86_64_(1 CPU)06:18:23 AMCPU%user%nice%System%iowait%steal%idle06:18:26 AMall12.110.002.773.110.0082.0106:18:29 AMall6.550.002.070.000.0091.3806:18:32 AMall6.600.002.080.000.0091.3206:18:35 AMall10.210.001.760.000.0088.0306:18:38 AMall8.710.001.740.000.0089.55Average:all8.830.002.090.630.0088.46

此输出结果中,各个列表项的含义分别如下:

【例 2】

如果想要查看系统磁盘的读写性能,可执行如下命令:

[root@localhost ~]# sar -d 3 5Linux 2.6.32-431.el6.x86_64 (localhost)10/25/2019_x86_64_(1 CPU)06:36:52 AMDEVtpsrd_sec/swr_sec/savgrq-szavgqu-szawaitsvctm%util06:36:55 AMdev8-03.380.00502.26148.440.0824.114.561.5406:36:55 AMDEVtpsrd_sec/swr_sec/savgrq-szavgqu-szawaitsvctm%util06:36:58 AMdev8-01.490.0029.8520.000.001.750.750.1106:36:58 AMDEVtpsrd_sec/swr_sec/savgrq-szavgqu-szawaitsvctm%util06:37:01 AMdev8-068.266.9653982.61790.933.2247.233.5424.1706:37:01 AMDEVtpsrd_sec/swr_sec/savgrq-szavgqu-szawaitsvctm%util06:37:04 AMdev8-0111.693961.29154.8436.851.059.423.4438.4306:37:04 AMDEVtpsrd_sec/swr_sec/savgrq-szavgqu-szawaitsvctm%util06:37:07 AMdev8-01.67136.002.6783.200.016.206.001.00Average:DEVtpsrd_sec/swr_sec/savgrq-szavgqu-szawaitsvctm%utilAverage:dev8-034.45781.109601.22301.360.7822.743.5012.07

此输出结果中,各个列表头的含义如下:

除此之外,如果想要查看系统内存使用情况,可以执行命令;如果要想查看网络运行状态,可执行 sar -n DEV 5 3 命令,等等。有关其它参数的用法,这里不再给出具体实例,有兴趣的读者可自行测试,观察运行结果。


如何在linux下判断磁盘是否为raid

有时想知道服务器上有几块磁盘,如果没有做raid,则可以简单使用fdisk -l就可以看到。 但是做了raid呢,这样就看不出来了。 那么如何查看服务器上做了raid?软件raid:只能通过Linux系统本身来查看cat /proc/mdstat可以看到raid级别,状态等信息。 硬件raid: 最佳的办法是通过已安装的raid厂商的管理工具来查看,有cmdline,也有图形界面。 如Adaptec公司的硬件卡就可以通过下面的命令进行查看:# /usr/dpt/raidutil -L all可以看到非常详细的信息。 当然更多情况是没有安装相应的管理工具,只能依靠Linux本身的话一般我知道的是两种方式:# dmesg |grep -i raid# cat /proc/scsi/scsi显示的信息差不多,raid的厂商,型号,级别,但无法查看各块硬盘的信息。 如下信息作为案例, 命令为# fdisk -l Disk /dev/sda: 145.9 GB, 6 bytes255 heads, 63 sectors/track, cylindersUnits = cylinders of * 512 = bytes Device BootStart EndBlocks IdSystem/dev/sda1 * 83Linux/dev/sda214 +8eLinux LVM# cat /proc/scsi/scsiAttached devices:Host: scsi0 Channel: 00 Id: 00 Lun: 00Vendor: SEAGATEModel:STSSRev: HS09Type: Direct-AccessANSI SCSI revision: 05Host: scsi0 Channel: 00 Id: 01 Lun: 00Vendor: SEAGATEModel: STSSRev: HS09Type: Direct-AccessANSI SCSI revision: 05Host: scsi0 Channel: 01 Id: 00 Lun: 00Vendor: Dell Model: VIRTUAL DISK Rev: 1028Type: Direct-AccessANSI SCSI revision: 05通过以上信息可以看出,该服务器有两块磁盘。 品牌是希捷的,磁盘代号为 STSS,如果你熟悉细节磁盘的代号命名规则,你会轻易判定该磁盘大小为146G 。 再根据fdisk 得出的结果可以判定,该服务器是拿两块146G的硬盘做的raid1.

Linux的管道命令如何使用?

管道命令具有过滤特性,一条命令通过标准输入端口接收一个文件中的数据,命令执行后产生的结果数据又通过标准输出端口送给后一条命令,作为第二条命令的输入数据。 第二条数据也是通过标准输入端口接收输入数据。 shell提供管道命令|把这些命令前后衔接在一起,形成一个管道线。 -ef|grep mysqld 这个竖线|就是管道命令的体现。 卢韬旭

我想监视linux系统的内存使用情况,在linux下有哪些视图或者命令行工具可用

这方面的指令太多了,大体上整理一下12个吧。 1. /proc/meminfo查看RAM使用情况最简单的方法是通过 /proc/meminfo。 这个动态更新的虚拟文件实际上是许多其他内存相关工具(如:free / ps / top)等的组合显示。 /proc/meminfo列出了所有你想了解的内存的使用情况。 进程的内存使用信息也可以通过 /proc//statm 和 /proc//status 来查看。 2. atopatop命令是一个终端环境的监控命令。 它显示的是各种系统资源(CPU, memory, Network, I/O, kernel)的综合,并且在高负载的情况下进行了彩色标注。 3、 freefree命令是一个快速查看内存使用情况的方法,它是对 /proc/meminfo 收集到的信息的一个概述。 4. GNOME System MonitorGNOME System Monitor 是一个显示最近一段时间内的CPU、内存、交换区及网络的使用情况的视图工具。 它还提供了一种查看CPU及内存使用情况的方法。 $ gnome-system-monitor5. htophtop命令显示了每个进程的内存实时使用率。 它提供了所有进程的常驻内存大小、程序总内存大小、共享库大小等的报告。 列表可以水平及垂直滚动。 6. KDE System Monitor功能同 4 中介绍的GENOME版本。 $ ksysguard7. memstatmemstat是一个有效识别 executable(s), process(es) and shared libraries使用虚拟内存情况的命令。 给定一个进程ID,memstat可以列出这个进程相关的可执行文件、数据和共享库。 8. nmonnmon是一个基于ncurses的系统基准测试工具,它可以监控CPU、内存、I/O、文件系统及网络资源等的互动模式。 对于内存的使用,它可以实时的显示 总/剩余内存、交换空间等信息。 9. psps命令可以实时的显示各个进程的内存使用情况。 Reported memory usage information includes %MEM (percent of physical memory used), VSZ (total amount of virtual memory used), and RSS (total amount of physical memory used)。 你可以使用 “–sort”选项对进程进行排序,例如按RSS进行排序:$ ps aux --sort -rss10. smemsmem命令允许你统计基于/proc信息的不同进程和用户的内存使用情况。 内存使用情况的分析可以导出图表(如条形图和饼图)。 $ sudo smem --pie name -c pss11. toptop命令提供了实时的运行中的程序的资源使用统计。 你可以根据内存的使用和大小来进行排序。 $ top12. vmstatvmstat命令显示实时的和平均的统计,覆盖CPU、内存、I/O等内容。 例如内存情况,不仅显示物理内存,也统计虚拟内存。 $ vmstat -s

本文版权声明本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,请联系本站客服,一经查实,本站将立刻删除。

发表评论

热门推荐