【性能测试】:分析cpu高,内存gc,数据库io高等问题的记录
好久没写了
一、cpu高的情况下,用top查看最高使用率的进程:
pid为24602,然后确定该进程下的top的线程:top -Hp 24602
然后将ppid转化为16进制的:printf "%x\n" 24667
然后输出605b的堆栈信息: jstack 24602 |grep 605b -A 30
-A 30 表示后30行;
-B 30 表示前30行;
-C 30 表示前后30行;
这个堆栈信息没啥异常,主要是这台服务器本省cpu比较少造成的;
二、内存GC, 指令:jstat –gc 24602 1000
主要看红圈中的值,其次看看每次sou在gc之后能否释放
YGC:youngGC次数
YGCT : youngGC耗时,一般十几到几十毫秒
FGC:fullGC次数
FGCT :fullGC耗时,1秒以内算正常;
三、io高的问题:
查看io:iostat -d -x -k 1 10
查看show variables like
'%sync_binlog%',syncbinlog的值如果为1的情况下,可以调整为0或者100试试