笔记|??Linux性能统计分析??
文章目录
- 安装
- uptime
- 深入理解负载
- 统计有多少用户
- 平均负载
- dmesg|tail
- vmstat
-
- 以 MB 方式输出
- 参考
- iostat
- free -m
- top
安装
yum -y install sysstat
uptime
[root@web1 xwk]# uptime
14:41:00 up 32 min,2 users,load average: 0.00, 0.04, 0.30
Unix 命令,显示系统已经运行了多长时间,它依次显示下列信息:当前时间、系统已经运行了多长时间、有多少登陆用户、系统在过去的1分钟、5分钟和15分钟内的平均负载。
深入理解负载 如果cpu = 1
load average = 1(cpu时刻在用)
如果cpu = 4
load average = 1(cpu只使用25%)
统计有多少用户
[root@web1 xwk]# cat /etc/group |wc -l
81
[root@web1 xwk]#
平均负载 平均负载不大于3,则系统运行表现良好
如果多核cpu,需要累加
4核cpu<12
dmesg|tail
[root@web1 xwk]# dmesg|tail
最新的10个系统信息,注意会导致性能问题的错误信息
文章图片
[root@web1 xwk]# dmesg|tail -20
最新的20个系统信息
vmstat vmstat 命令报告关于内核线程、虚拟内存、磁盘、陷阱和 CPU 活动的统计信息。由 vmstat 命令生成的报告可以用于平衡系统负载活动。系统范围内的这些统计信息(所有的处理器中)都计算出以百分比表示的平均值,或者计算其总和。
[root@web1 xwk]# vmstat
procs -----------memory---------- ---swap-- -----io---- -system-- ------cpu-----
rbswpdfreebuffcachesisobiboincs us sy id wa st
40482046155636 35384418564207514811 9720
[root@web1 xwk]#
procs:procs 中有 r 和 b 列,它报告进程统计信息。在上面的输出中,在运行队列(r)中有两个进程在等待 CPU 并有零个休眠进程(b)。通常,它不应该超过处理器(或核心)的数量,如果你发现异常,最好使用 top 命令进一步地排除故障。
r:等待运行的进程数。
b:休眠状态下的进程数。
memory: memory 下有报告内存统计的 swpd、free、buff 和 cache 列。你可以用 free -m 命令看到同样的信息。在上面的内存统计中,统计数据以千字节表示,这有点难以理解,最好添加 M 参数来看到以兆字节为单位的统计数据。
swpd:使用的虚拟内存量。
free:空闲内存量。
buff:用作缓冲区的内存量。
cache:用作高速缓存的内存量。
inact:非活动内存的数量。
active:活动内存量。
swap:swap 有 si 和 so 列,用于报告交换内存统计信息。你可以用 free -m 命令看到相同的信息。
si:从磁盘交换的内存量(换入,从 swap 移到实际内存的内存)。
so:交换到磁盘的内存量(换出,从实际内存移动到 swap 的内存)。
I/O:I/O 有 bi 和 bo 列,它以“块读取”和“块写入”的单位来报告每秒磁盘读取和写入的块的统计信息。如果你发现有巨大的 I/O 读写,最好使用 iotop 和 iostat 命令来查看。
bi:从块设备接收的块数。
bo:发送到块设备的块数。
system:system 有 in 和 cs 列,它报告每秒的系统操作。
in:每秒的系统中断数,包括时钟中断。
cs:系统为了处理所以任务而上下文切换的数量。
CPU:CPU 有 us、sy、id 和 wa 列,报告(所用的) CPU 资源占总 CPU 时间的百分比。如果你发现异常,最好使用 top 和 free 命令。
us:处理器在非内核程序消耗的时间。
sy:处理器在内核相关任务上消耗的时间。
id:处理器的空闲时间。
wa:处理器在等待IO操作完成以继续处理任务上的时间。
以 MB 方式输出 默认情况下,vmstat 以千字节为单位显示内存统计,这是非常难以理解的,最好添加 -S m 参数以获取以兆字节为单位的统计。
[root@web1 xwk]# vmstat -S m
procs -----------memory---------- ---swap-- -----io---- -system-- ------cpu-----
rbswpdfreebuffcachesisobiboincs us sy id wa st
304975034800521187314411 9720
[root@web1 xwk]#
参考 vmstat:一个标准的报告虚拟内存统计工具
iostat
avg-cpu:%user%nice %system %iowait%steal%idle
0.660.100.641.280.0097.32Device:tpskB_read/skB_wrtn/skB_readkB_wrtn
sda6.67425.6415.073304449116973
scd00.000.010.00660[root@web1 xwk]#
块设备(磁盘)的状况 | |
---|---|
tps: | 每秒进程下发的IO读、写请求数量 |
kB_read/s: | 每秒从驱动器读入的数据量 |
kB_wrtn/s: | 每秒从驱动器写入的数据量 |
kB_read: | 读入数据总量 |
kB_wrtn: | 写入数据总量 |
free指令会显示内存的使用情况,包括实体内存,虚拟的交换文件内存,共享内存区段,以及系统核心使用的缓冲区等。
[root@web1 xwk]# free -m
totalusedfreesharedbuff/cacheavailable
Mem:976573693333190
Swap:102446978
[root@web1 xwk]#
Mem 行(第二行)是内存的使用情况。
Swap 行(第三行)是交换空间的使用情况。
total 列显示系统总的可用物理内存和交换空间大小。
used 列显示已经被使用的物理内存和交换空间。
free 列显示还有多少物理内存和交换空间可用使用。
shared 列显示被共享使用的物理内存大小。
buff/cache 列显示被 buffer 和 cache 使用的物理内存大小。
available 列显示还可以被应用程序使用的物理内存大小。
top -n 获取多次cpu的执行情况,top -n 4只更新4次
-d 间隔时间,top -4每4秒更新一次
-p 获取指定端口的进程的数据,top -p 4444
每隔一秒检测指定进程的cpu,检测20次
top -d 1 -n 20
【笔记|??Linux性能统计分析??】检测指定pid的内存20次
for i in {
1..20};
do top -n 1 -d 1 -p 528|grep 528|awk '{print $11}';
sleep 1;
done
推荐阅读
- EffectiveObjective-C2.0|EffectiveObjective-C2.0 笔记 - 第二部分
- Android中的AES加密-下
- Linux下面如何查看tomcat已经使用多少线程
- 【读书笔记】贝叶斯原理
- 【韩语学习】(韩语随堂笔记整理)
- Beego打包部署到Linux
- 人性的弱点-笔记
- 读书笔记:博登海默法理学|读书笔记:博登海默法理学 —— 正义的探索(1)
- D034+3组苏曼+《写作这回事》读书笔记
- 《自我的追寻》读书笔记3