1.查看CPU占用过高进程
内存和cpu问题是出问题最多的一个点,一般使用top命令查看。
top命令
常用参数: -H 打印具体的线程, -p 打印某个进程 进入后 按数字1 可以查看cpu核数

重点关注的指标有:
%Cpu(s): 5.1 us, 3.4 sy, 0.0 wa
Us:用户cpu占用时间
sy:系统调用cpu占用时间
wa:cpu等待io的时间,如果wa很高,就需要关注磁盘负载,常见于数据库所在服务器。
load average: 0.08, 0.26, 0.19
cpu任务队列的负载,这个队列包括正在运行的任务和等待运行的任务,三个数字分别是1分钟、5分钟和15分钟的平均值。如果该值超过了内核数,表示系统已经过载。一般这个值不要超过ncpu*2-2。
KiB Mem: 16228648 total, 14564444 used, 1664204 free, 200888 bufferse
内存占用情况:
total总内存,
free空余内存,
used已经分配内存,
buff/cache块设备和缓冲区占用的内存
Linux系统在内存分配,如果有剩余内存,会将内存用于cache,这样可以较少磁盘的读写提高效率,如果有应用申请内存,buff/cache这部分内存也是可用的,所以正真的剩余内存应该是free+buff/cache
swap
交换空间,当服务器物理内存不足时,系统

本文介绍了如何分析Linux系统中CPU占用过高的问题。通过使用`top`命令查看CPU占用进程,关注Us、sy、wa等指标以及load average,以判断系统负载。同时,利用`top -H`观察线程CPU占用,并通过`jstack`导出线程栈,进一步定位问题。在Windows环境下,可以使用Process Explorer进行类似检查。
2983

被折叠的 条评论
为什么被折叠?



