java问题排查可能用到的一些命令

1. jmap查询jvm内存使用情况

-heap :打印jvm heap的情况
-histo: 打印jvm heap的直方图。其输出信息包括类名,对象数量,对象占用大小。
-histo:live : 同上,但是只答应存活对象的情况
-permstat: 打印permanent generation heap情况
命令使用:
jmap -heap 3409
查询对象占用情况
jmap -histo 3409

有的时候对象太多,需要输出到文本里筛选:
jmap -histo 3409 > a.txt
jmap -histo输出的数据中:
[C is a char[]
[S is a short[]
[I is a int[]
[B is a byte[]
[[I is a int[][]
linux命令 查询最后的几行
tail -n 1000 a.txt

linux命令 查询前几行
head -n 30 a.txt

 2. 查询java的pid

ps -ef | grep java

3. 查询某pid的占用情况

top -p 202020

 4. htop各项指标的含义

PID:进行的标识号
USER:运行此进程的用户
PRI:进程的优先级
NI:进程的优先级别值,默认的为0,可以进行调整
VIRT:进程占用的虚拟内存值
RES:进程占用的物理内存值
SHR:进程占用的共享内存值
S:进程的运行状况,R表示正在运行、S表示休眠,等待唤醒、Z表示僵死状态
%CPU:该进程占用的CPU使用率
%MEM:该进程占用的物理内存和总内存的百分比
TIME+:该进程启动后占用的总的CPU时间
COMMAND:进程启动的启动命令名称

 5. 查询服务器当前内存使用情况

free -m

参数:
-b  以Byte为单位显示内存使用情况。
-k  以KB为单位显示内存使用情况。
-m  以MB为单位显示内存使用情况。
-o  不显示缓冲区调节列。
-s<间隔秒数>  持续观察内存使用状况。
-t  显示内存总和列。
-V  显示版本信息。

 6. 根据进程号pid查询执行文件目录

lsof -p PID

7. 查询某个端口的进程pid

lsof -i: 端口号

8. 查询某个服务的进程pid

jps -lv | grep "service name"

 

8. 查询某个服务使用的编码格式

 jinfo 1732 | grep "file.encoding"      

 1732是进程的pid

9. 遍历目录所有文件,展示大小

ll -h

10. 解压*.gz文件

gunzip file.gz

11. 查询某pid的线程数

ps -Lf Pid | wc -l

12. 切割大文件

--verbose 表示输出进度
split -b 500m catalina.out c_ --verbose
split -l 2482 BLM.txt -d -a 4 BLM_

 

13. 查看磁盘大小 

--查看系统磁盘大小
df -h  
--进入某个目录之后,可以查看当前文件夹下的大小
du -h

posted on 2016-08-23 10:44  往边界  阅读(547)  评论(1编辑  收藏  举报

导航