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查询执行文件目录
1 | lsof -p PID |
7. 查询某个端口的进程pid
1 | lsof -i: 端口号 |
8. 查询某个服务的进程pid
jps -lv | grep "service name"
8. 查询某个服务使用的编码格式
1 | jinfo 1732 | grep "file.encoding" |
1732是进程的pid
9. 遍历目录所有文件,展示大小
1 | ll -h |
10. 解压*.gz文件
1 | gunzip file.gz |
11. 查询某pid的线程数
1 | ps -Lf Pid | wc -l |
12. 切割大文件
--verbose 表示输出进度 split -b 500m catalina.out c_ --verbose
split -l 2482 BLM.txt -d -a 4 BLM_
13. 查看磁盘大小
1 | --查看系统磁盘大小df -h --进入某个目录之后,可以查看当前文件夹下的大小du -h |
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
· 没有源码,如何修改代码逻辑?
· 全程不用写代码,我用AI程序员写了一个飞机大战
· DeepSeek 开源周回顾「GitHub 热点速览」
· 记一次.NET内存居高不下排查解决与启示
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· .NET10 - 预览版1新功能体验(一)