01
uptime
$ uptime 23:51:26 up 21:31, 1 user, load average: 30.02, 26.43, 19.0212
该命令可以大致的看出计算机的整体负载情况,load average后的数字分别表示计算机在1min、5min、15min内的平均负载 。
02
dmesg | tail
$ dmesg | tail[1880957.563150] perl invoked oom-killer: gfp_mask=0x280da, order=0, oom_score_adj=0[...][1880957.563400] Out of memory: Kill process 18694 (perl) score 246 or sacrifice child[1880957.563408] Killed process 18694 (perl) total-vm:1972392kB, anon-rss:1953348kB, file-rss:0kB[2320864.954447] TCP: Possible SYN flooding on port 7001. Dropping request. Check SNMP counters.123456
打印内核环形缓存区中的内容,可以用来查看一些错误;
上面的例子中,显示进程18694 因引内存越界被kill掉以及TCP request被丢弃的错误 。通过dmesg可以快速判断是否有导致系统性能异常的问题 。
03
vmstat 1
$ vmstat 1procs ---------memory---------- ---swap-- -----io---- -system-- ------cpu----- r b swpd free buff cache si so bi bo in cs us sy id wa st34 0 0 200889792 73708 591828 0 0 0 5 6 10 96 1 3 0 032 0 0 200889920 73708 591860 0 0 0 592 13284 4282 98 1 1 0 032 0 0 200890112 73708 591860 0 0 0 0 9501 2154 99 1 0 0 032 0 0 200889568 73712 591856 0 0 0 48 11900 2459 99 0 0 0 032 0 0 200890208 73712 591860 0 0 0 0 15898 4840 98 1 1 0 0^C123456789
打印进程、内存、交换分区、IO和CPU等的统计信息;
vmstat的格式如下
> vmstat [options] [delay [count]]
vmstat第一次输出表示从开机到vmstat运行时的平均值;剩余输出的都是在指定的时间间隔内的平均值,上述例子中delay的值设置为1,除第一次以外,剩余的都是1秒统计一次,count未设置,将会一直循环打印 。
$ vmstat 10 3procs -----------memory---------- ---swap-- -----io---- -system-- ------cpu----- r b swpd free buff cache si so bi bo in cs us sy id wa st 1 0 0 2527112 1086888 13720228 0 0 1 14 2 1 1 1 99 0 0 0 0 0 2527156 1086888 13719856 0 0 0 104 3003 4901 0 0 99 0 0 0 0 0 2526412 1086888 13719904 0 0 0 10 3345 4870 0 1 99 0 0123456
上述的例子中delay设置为10,count设置为3,表示每行打印10秒内的平均值,只打印3次 。
需要检查的列
- r:表示正在运行或者等待CPU调度的进程数 。因为该列数据不包含I/O的统计信息,因此可以用来检测CPU是否饱和 。若r列中的数字大于CPU的核数,表示CPU已经处于饱和状态 。
推荐阅读
- 在办公室常喝这四种花茶,办公室白领为什么要常喝花茶
- 同一条 SQL 为何在 MariaDB 正常,MySQL5.7 却很慢?
- 经常喝茶能防蛀牙,教你九个喝茶的技巧
- 淘宝直通车怎么删除直通车推广计划 淘宝直通车日常销售计划组怎么删除
- 炼乳蛋挞液的做法
- 冻海鱼的做法大全家常
- 煲仔饭酱汁怎么调
- 用砂锅做排骨煲仔饭
- 如何煮煲仔饭
- 常喝这六种营养花茶,花茶的三项质量指标