Linux 问题查询汇总笔记

查看读写
iostat -xm 1, 一般看util百分比

查看读写高的进程
iotop -P

查看内存不足时,系统kill进程的日志
grep -C 30 "Out of memory" /var/log/messages

vmstat 查看内存情况 

> vmstat | column -t
column -t是为了表头和数据列对齐,便于查看

表头字段说明

Procs(进程):
r: 运行队列中进程数量
b: 等待IO的进程数量
Memory(内存):
swpd: 使用虚拟内存大小
free: 可用内存大小
buff: 用作缓冲的内存大小
cache: 用作缓存的内存大小
Swap:

si: 每秒从交换区写到内存的大小
so: 每秒写入交换区的内存大小
IO:(现在的Linux版本块的大小为1024bytes)
bi: 每秒读取的块数
bo: 每秒写入的块数
系统:

in: 每秒中断数,包括时钟中断。
cs: 每秒上下文切换数。
CPU(以百分比表示):
us: 用户进程执行时间(user time)
sy: 系统进程执行时间(system time)
id: 空闲时间(包括IO等待时间),中央处理器的空闲时间 。以百分比表示。
wa: 等待IO时间

备注:如果 r经常大于 4 ,且id经常少于40,表示cpu的负荷很重。如果pi,po 长期不等于0,表示内存不足。如果disk 经常不等于0, 且在 b中的队列 大于3, 表示 io性能不好。Linux在具有高稳定性、可靠性的同时,具有很好的可伸缩性和扩展性,能够针对不同的应用和硬件环境调整,优化出满足当前应用需要的最佳性能。因此企业在维护Linux系统、进行系统调优时,了解系统性能分析工具是至关重要的。

JVM 垃圾回收

jstat -<option> [-t] [-h<lines>] <vmid> [<interval> [<count>]]

jstat –options 
-class            # 类加载情况的统计
-compiler         # HotSpot中即时编译器编译情况的统计
-gc
-gccapacity       # 新生代、老年代以及永久代的存储容量情况
-gccause
-gcmetacapacity   # 元数据区的容量
-gcnew            # 新生代垃圾回收信息
-gcnewcapacity    # 新生代的存储容量
-gcold            # 老年代垃圾回收信息
-gcoldcapacity    # 老年代的存储容量
-gcutil           # 实时查看GC信息
-printcompilation # HotSpot编译方法的统计



jstat -gcutil -h10 77545 5000

S0: Heap上的Survivor Space 0区已使用空间的百分比
S1: Heap上的Survivor Space 1区已使用空间的百分比
E:  Heap上的Eden Space区已使用空间的百分比
O:  Heap上的Old Space区已使用空间的百分比
M:  Meta Space(元数据区)已使用空间的百分比
YGC: 从应用程序启动到采样时发生Young GC的次数
YGCT: 从应用程序启动到采样时Young GC所用的时间(单位: 秒)
FGC:  从应用程序启动到采样时发生Full GC的次数
FGCT: 从应用程序启动到采样时Full GC所用的时间(单位: 秒)
GCT:  从应用程序启动到采样时用于垃圾回收的总时间(单位: 秒)

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章