找出占用高的进程

1.找出僵尸进程
ps -A -ostat,ppid,pid,cmd | grep -e ‘^[Zz]‘

-A 参数列出所有进程
-o 自定义输出字段,我们设定显示字段为stat(状态),ppid(父进程pid),pid(进程pid),cmd(命令行)这四个参数
因为状态为 z 或者 Z的进程为僵尸进程,所以我们使用grep 抓取stat 状态为zZ进程;

运行后,在此运行ps -A -ostat,ppid,pid,cmd | grep -e ‘^[Zz]‘ 来确认是否将僵尸进程杀死;
如果kill 子进程的无效,可以尝试kill 其父进程来解决问题,例如上面父进程pid 为12334,那么我们就运行 kill -HUP 12334 来解决问题

2.找出cup占用高的进程
ps -aux --sort -pcpu | less
-pcpu 可以显示出进程绝对路径,方便找出×××程序运行的路径
查看是否有异常进程

ll /proc/28311/exe
查看这个程序调用的服务

3.查看某个进程线程的cpu占用率
ps -mp 30180 -o THREAD,tid,time

4.查看某个命令是不是被篡改了
在这个命令调用的情况下 ps aux|grep ps
如果发现这个命令路径不对了,则被篡改了

5.top常用使用
top -b -n 2 > /root/pan_work/top.txt 输出两次top信息
top -d 5 5秒输出一次

原文地址:http://blog.51cto.com/13893093/2171926

时间: 2024-12-11 19:22:24

找出占用高的进程的相关文章

Windows找出占用端口的进程

第一步:找出监听指定端口的进程号: C:\> netstat -ao | findstr 443  TCP    0.0.0.0:443            Sean-NotePC:0          LISTENING       12776 最后一个就是进程号,12776. 第二步:找出进程号对应的进程: C:\> tasklist /fi "PID eq 3040" 映像名称 PID 会话名 会话# 内存使用 ========================= =

java:找出占用CPU资源最多的那个线程(HOW TO)

在这里对linux下.sun(oracle) JDK的线程资源占用问题的查找步骤做一个小结:linux环境下,当发现java进程占用CPU资源很高,且又要想更进一步查出哪一个java线程占用了CPU资源时,按照以下步骤进行查找: 先用top命令找出占用资源厉害的java进程id,如: 如上图所示,java的进程id为'12377',接下来用top命令单独对这个进程中的所有线程作监视: ? 1 top -p 12377 -H 如图: 如上图所示,linux下,所有的java内部线程,其实都对应了一

找出占用大量会话的进程

今天看到有人问我无意间登录了家里的路由器,发现自己的电脑上传下载流量特别大,还有600多会话连接,问是不是中病毒了. 其实这个往往都是一些视频或者下载工具的后台进程干的,有例如360这类的流量管理都可以看到. 但并不是所有电脑都安装有这种工具.我们用cmd简单几个命令也可以查询到. 第一步我们就可以使用命令netstat -nao查看每个PID所占用的端口号. 查看显示的数据发现一个PID 5604出现了很多会话,其实现在我电脑没有几个会话,我们就拿这个5604来举例吧. 这时我们可以用命令ta

转 JVM找出占用CPU最高的线程

这两天客户这边有一台服务器一到下午3点左右就开始卡住,页面无法访问,服务器CPU占用达到300%多开始以为只是可能只是意外事件,重启一下就好,但是发现重启之后没几分钟服务器马上又反应无法访问,我就开始检查自己写的代码是不是有什么非常消耗CPU资源的逻辑,但是找了一段时间之后还是一无所获,不过马上反应的就是先把最新提交发布的代码还原到上一个版本.但是没过多久还是反应服务器开始又开始无法访问了.于是就第一步: 通过 top命令查找到这个消耗CPU的进程号PID 8958 top第二步:使用 top

找出1小时内占用cpu最多的10个进程的shell脚本

cpu时间是一项重要的资源,有时,我们需要跟踪某个时间内占用cpu周期最多的进程. 在普通的桌面系统或膝上系统中,cpu处于高负荷状态也许不会引发什么问题.但对于需要处理大量请求的服务器来讲,cpu是极其重要的资源. 通过监视某个时期内cpu的使用情况,我们可以找出长期占用cpu的进程并对其进行优化,或调试其它相关问题. 在linux系统中,ps命令用于收集系统中进程的详细信息.这些信息包括cpu使用情况.正在执行的命令.内存使用.进程状态等.记录在一个小时内占用过的cpu的进程,然后通过恰当地

找出linux服务器IO占用高的程序

一台服务器比较性能无外乎内存.cpu使用率.IO使用率,把这3样优化好了,你服务器的负载就要小很多,当然网络情况不在我的考虑范围,毕竟网络这个情况是很不稳定,就算你服务器上把网络优化得再好,idc不给力也没用,除非是自己公司机房,好了,今天只说下怎么找IO占用高的程序. 系统:centos 5.5 1.开启IO监控 sysctl vm.block_dump=1或echo 1 >/proc/sys/vm/block_dump 2.开启后内核会将IO读写dump到日记,用dmesg查看: dmesg

JVM调优之jstack找出最耗cpu的线程并定位代码

一.jstack使用总结 分析java进程,cpu占用高的问题 { 1.找到cpu占用高的进程pid 在top中,按组合键: shift + h ,会按cpu使用从高到低排序2.找到cpu占用高的线程pid top -Hp cpu高的进程pid, shift +h 查找最高线程,显示线程3.jstack 进程的pid | grep -A 线程pid的十六进制 #分析Java应用程序线程堆栈dump出来 printf "%x\n" cpu高的线程pid ==> 得到十六进制 pyt

java程序CPU消耗分析之找出最耗CPU线程

java程序CPU消耗过高一般有两种情况: 1. us过高,应用占用CPU资源过高,需找出具体占用CPU的线程所执行的代码,分析定位问题原因. 分析步骤如下: (1) 使用top命令找出占用cpu最高的JAVA进程 (2) 找出占用cpu最高的线程  top -Hp 1781 (3) 占CPU最高线程17596换算成16进制对应线程44bc 用命令 printf "%x\n" 17596 (4) 打印占CPU最高JAVA进程1781的堆栈信息 jstack 1781> stack

揪出占用磁盘空间的罪魁祸首-企业生产实战

磁盘空间已满,但是找不到占用空间的文件,整个故障排除过程如下: [[email protected] opt]# df -h Filesystem      Size  Used Avail Use% Mounted on /dev/sda5       9.5G  6.1G  3.0G  68% / tmpfs            24G  228K   24G   1% /dev/shm /dev/sda1       190M   34M  146M  19% /boot /dev/sd