1通top查看,占用内存情况

1、用命令top查看java进程的内存和cpu占用情况。对应的pid

 

2.查看该top -Hp pid下线程对应的系统占用情况。top -Hp 14372

线程 14386占用了cpu

jstack pid |grep tid -A 30 查看该线程堆栈信息

将需要的线程ID转换为16进制格式:printf "%x\n" 14386

jstack 14372 |grep 3832 -A 30

 

 

3、jmap -histo  pid查询指定java进程的所有对象使用内存情况。

 

4、ps -mp pid -o THREAD,tid,time  查询所有线程列表

 

 

 

 

查看tcp连接数 netstat -n | awk '/^tcp/ {++S[$NF]} END {for(a in S) print a, S[a]}'

如果服务器保持了大量CLOSE_WAIT状态,简单来说CLOSE_WAIT数目过大是由于被动关闭连接处理不当导致的

大量TIME_WAIT可以调整可以增加端口数,cat /proc/sys/net/ipv4/ip_local_port_range

 

 

 

iostat -d -k 2查看硬盘IO情况

 

GC调优,关键是查看GC的频率,新生代内存Eden和老年代Survivor之间寻找一个平衡

关键时老年代,不能太大,太大full gc会导致系统停顿时间长,如果一定要大可以考虑单例转多例

 

 

 

  
 

 

GitHub 加速计划 / li / linux-dash
10.39 K
1.2 K
下载
A beautiful web dashboard for Linux
最近提交(Master分支:2 个月前 )
186a802e added ecosystem file for PM2 4 年前
5def40a3 Add host customization support for the NodeJS version 4 年前
Logo

旨在为数千万中国开发者提供一个无缝且高效的云端环境,以支持学习、使用和贡献开源项目。

更多推荐