Linux中服务进程相关操作
1、想知道JAVA进程号(PID)对应的端口号,最直接的方法是使用 ss 或 netstat 命令,配合 grep 进行过滤。
1.> 使用 ss 命令
ss -tulnp | grep <你的PID>
# 参数说明:-t 显示TCP端口,-u 显示UDP端口,-l 仅显示监听中的端口,-n 以数字形式显示端口号,-p 显示进程信息
2.> 使用 netstat 命令
sudo netstat -tulnp | grep <你的PID>
# 参数说明:各参数的含义与 ss 命令基本相同。
# 输出解析:命令的输出中会包含一列 PID/Program name,可以很直观地看到进程PID和它监听的端口
2、检查哪些进程占用内存最多
ps aux --sort=-%mem | head -20 # 查看 Top 内存进程
示例:
# ps aux --sort=-%mem | head -5 USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND 3001 61502 3.0 14.0 9754784 2279616 pts/0 Sl+ Aug10 23:24 java -Xms2000m -Xmx2000m -XX:+ExitOnOutOfMemoryError -jar zte-run.jar 3001 67031 3.3 12.1 12173496 1979596 pts/0 Sl+ Aug10 25:31 java -Xms3072m -Xmx3072m -XX:+ExitOnOutOfMemoryError -jar zte-grc-ecss.jar #详解: 进程名称为zte-run中,堆内存配置 (Xms/Xmx) 为2GB,实际物理内存占用 (RSS)2.28 GB,说明,堆 2G + JVM 额外开销 + 非堆内存 ≈ 2.28G 进程名称为zte-grc-ecss中,堆内存配置 (Xms/Xmx)为3GB,实际物理内存占用 (RSS)1.98 GB,说明,堆 3G,但当前实际使用约 2G(未完全占满)

浙公网安备 33010602011771号