ps
查看线程
ps –eLf 进程id
ps H 也行
ps -mp pid -o THREAD,tid,time;printf “%x\n” tid;jstack pid |grep tid -A 30;CPU占用太高追查
ps -mp pid -o THREAD,tid,time;printf “%x\n” tid;jstack pid
top
查看线程
top -H -p 25120
-H查看线程
-p指定进程号
其中25120为Java进程号。
配合jstack
切换top显示模式
1:显示每个cpu的使用率
E/e:切换单位:
- e:切换列表单位
- E:切换内存单位
m 切换显示内存信息
-c:显示进程运行命令
-Hp [进程号]:显示进程的线程
lsof
- -i<条件>:列出符合条件的进程。(4、6、协议、:端口、 @ip )【根据端口查进程】
- -t : 仅获取进程ID
- -p:查看进程打开的文件【根据进程查打开文件】
查看占用端口的进程
input 好记
(1) netstat -an|grep 8080
(2) lsof -i:8080
df & du
/proc
- /proc/xxxx/task:线程
- /proc/xxxx/fd:查看进程打开了哪些文件【socket也是文件】
- /proc/stat:查看cpu信息
- /proc/meminfo:查看cache 和buffer 的占用
- /proc/softirqs:软中断strace查看系统调用
pidstat & sar &vmstat
sar看整体,pidstat看具体的进程?
pidstat 命令详解 - 简书
pidstat常用
vmstat看整体?