您的位置:首页 > 运维架构 > Linux

linux检查服务器性能常用命令

2016-12-28 09:03 267 查看
1.uptime

2.dmesg | tail

‘dmesg’命令显示linux内核的环形缓冲区信息,我们可以从中获得诸如系统架构、cpu、挂载的硬件,RAM等多个运行级别的大量的系统信息。当计算机启动时,系统内核(操作系统的核心部分)将会被加载到内存中。在加载的过程中会显示很多的信息,在这些信息中我们可以看到内核检测硬件设备。

'dmesg'命令设备故障的诊断是非常重要的。在‘dmesg’命令的帮助下进行硬件的连接或断开连接操作时,我们可以看到硬件的检测或者断开连接的信息。‘dmesg’命令在多数基于LinuxUnix的操作系统中都可以使用。

要显示所有被内核检测到的硬盘设备,你可以使用‘grep’命令搜索‘sda’关键词

‘sda’表示第一块 SATA硬盘,‘sdb’表示第二块SATA硬盘。若想查看IDE硬盘搜索‘hda’或‘hdb’关键词。

dmesg | head  -20
dmesg | tail -20
dmesg -c 清空日志。/var/log/dmesg
3.vmstat
[root@MAN-iaas ~]# vmstat
procs -----------memory---------- ---swap-- -----io---- --system-- -----cpu-----
 r  b   swpd   free   buff  cache   si   so    bi    bo   in   cs us sy id wa st
 5  0  58296 20694108 383524 63481220    0    0     0    30    0    0 18  4 77  1  0    

r:等待cpu资源的进程数。这个数据比平均负载更能体现cpu的负载情况,数据中不包含等待IO的进程。如果这个数值大于机器CPU核数,那么机器的cpu核数已经饱和。
free:
si,so:交换区写入和读取的数量。如果这个数据不为0,说明系统已经在使用交换区(swap),机器内存已经不足。
us,sy,id,wa,st:这些都代表了CPU时间的消耗,它们分别表示用户时间(user)系统(内核)时间(sys)空闲时间(idle)IO等待时间(wait)和被偷走的时间(stone,一般被其他虚拟机消耗)

一般情况下,如果用户时间和系统时间相加非常大,CPU出于忙于执行指令。如果IO等待时间很长,那么系统的瓶颈可能在磁盘IO。

上面示例中大量CPU时间消耗在用户态,也就是用户应用程序消耗了CPU时间。这不一定是性能问题,需要结合r队列,一起分析。

4.mpstat

查看多核CPU核心的当前运行状况信息, 每2秒更新一次

%user      在internal时间段里,用户态的CPU时间(%),不包含nice值为负进程  (usr/total)*100

%nice      在internal时间段里,nice值为负进程的CPU时间(%)   (nice/total)*100

%sys       在internal时间段里,内核时间(%)       (system/total)*100

%iowait    在internal时间段里,硬盘IO等待时间(%) (iowait/total)*100

%irq       在internal时间段里,硬中断时间(%)     (irq/total)*100

%soft      在internal时间段里,软中断时间(%)     (softirq/total)*100

%idle      在internal时间段里,CPU除去等待磁盘IO操作外的因为任何原因而空闲的时间闲置时间(%) (idle/total)*100

5.pidstat

6.iostat

[root@MAN-iaas ~]# iostat -d -k 2

Linux 2.6.32-431.el6.x86_64 (MAN-iaas.PUB01.SF.Beijing)     12/28/2016     _x86_64_    (24 CPU)

Device:            tps    kB_read/s    kB_wrtn/s    kB_read    kB_wrtn

sda              51.95         5.21       721.70  278155717 38537615445

Device:            tps    kB_read/s    kB_wrtn/s    kB_read    kB_wrtn

sda              82.00         0.00      1172.00          0       2344

参数 -d 表示,显示设备(磁盘)使用状态;-k某些使用block为单位的列强制使用Kilobytes为单位;2表示,数据显示每隔2秒刷新一次。

tps:该设备每秒的传输次数(Indicate the number of transfers per second that were issued to the device.)。"一次传输"意思是"一次I/O请求"。多个逻辑请求可能会被合并为"一次I/O请求"。"一次传输"请求的大小是未知的。

kB_read/s:每秒从设备(drive expressed)读取的数据量;
kB_wrtn/s:每秒向设备(drive expressed)写入的数据量;
kB_read:读取的总数据量;
kB_wrtn:写入的总数量数据量;这些单位都为Kilobytes。

7.free

8.sar(System Activity Reporter系统活动情况报告)是目前 Linux 上最为全面的系统性能分析工具之一,可以从多方面对系统的活动进行报告,包括:文件的读写情况、系统调用的使用情况、磁盘I/O、CPU效率、内存使用状况、进程活动及IPC有关的活动等。

9.top

要判断系统瓶颈问题,有时需几个 sar 命令选项结合起来

怀疑CPU存在瓶颈,可用 sar -u 和 sar -q 等来查看

怀疑内存存在瓶颈,可用 sar -B、sar -r 和 sar -W 等来查看

怀疑I/O存在瓶颈,可用 sar -b、sar -u 和 sar -d 等来查看
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: