sar 命令很强大,是分析系统性能的重要工具之一,通过该命令可以全面地获取系统的 cpu、运行队列、磁盘读写(I/O)、分区(交换区)、内存、CPU 中断和网络等性能数据。
sar 命令的基本格式如下:
[root@localhost ~]# sar [options] [-o filename] interval [count]
此命令格式中,各个参数的含义如下:
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/
发表评论