ps aux grep java_linux命令ps-aux监控java进程
linux下用ps -aux可以监控java的进程情况。
linux根据内核的不同对每个进程分配的最大使用内存不同,如果是32位机器,cpu最大的寻址空间是2的32次方,4G,但内核分配给每个进程最大的内存肯定是小于4G,经过重新编译的内核分配给java进程的最大内存是2G,如果tomcat中的catalina.sh中的java-opts Xms1024m -Xmx1600,那么你就要小心了,根据tomcat指南中介绍,tomcat的请求和响应是通过线程池这种异步通信机制来完成的,而每个线程除了JVM会给它分配堆栈外,还要占用操作系统的一些内存资源,当然没有固定大小,原因是线程可以共享进程的内存资源。如果jvm是1.6G,线程数达到一定的数量,即访问量不断增大的时候,线程一共占用操作系统的内存资源超过400M,那么一个java进程就很可能操作2G的限制,导致无法正常提供服务。
其实,java进程的内存的实际使用达不到2G,这里指的是java进程的虚拟内存。我们可以用ps -aux很好的观察到,VSZ字段就是虚拟内存的使用量,指的是将整个进程一次装入到内存里所需要的内存大小,RSS字段是进程实际使用内存的大小。根据刚才的分析,对VSZ字段的监控可以很好的起到报警预防作用。当然为了保证服务的稳定与快捷,还是应该合理的调整java-opts 的参数。
关于JVM的内存管理方面,可以参考以下文章:
在命令行下用 java -XmxXXXXM -version 命令来进行测试,然后逐渐的增大XXXX的值,如果执行正常就表示指定的内存大小可用,否则会打印错误信息。
错误显示如下:
[root@ngtsl68 bin]# java -Xmx2700M -version
Error occurred during initialization of VM
Could not reserve enough space for object heap
Could not create the Java virtual machine.
正确显示如下:
[root@ngtsl68 bin]# java -Xmx2600M -version
java version "1.6.0_18"
Java(TM) SE Runtime Environment (build 1.6.0_18-b07)
Java HotSpot(TM) Server VM (build 16.0-b13, mixed mode)
ps aux grep java_linux命令ps-aux监控java进程相关推荐
- ps与grep组合命令使用
管道命令 我们在做运维的时候,经常会使用这个命令ps -ef | grep nginx. ps -ef 表示显示所有进程的消息. | 是管道命令.通常需要借助管道命令"|"多个命令 ...
- java jmx 监控_利用VisualVm和JMX远程监控Java进程
在前一篇文章里我们发现通过jstatd + VisualVm的方式,不能获得Java进程的CPU.线程.MBean信息,这时JMX就要登场了. 自Java 6开始,Java程序启动时都会在JVM内部启 ...
- 第三方工具监控java进程_前9个免费的Java进程监视工具以及如何选择一种
第三方工具监控java进程 这样就可以运行Java代码了. 也许它甚至可以在生产服务器上运行. 当您做好工作后,我们得到了好消息和令人讨厌的消息. 令人讨厌的消息是,现在开始调试. 就是进行调试和应用 ...
- java 堆栈信息_每天学习一个命令:jstack 打印 Java 进程堆栈信息
Jstack 用于打印出给定的 java 进程 ID 或 core file 或远程调试服务的 Java 堆栈信息. 这里需要注意的是 Java 8 引入了 Java Mission Control, ...
- linux 多个java_linux 同时出现两个java进程,新手~ 请详细说明,这个是怎么回事。 我就装了一个jdk...
首先Tomcat是用java开发的,所以它的开始和停止的命令都是用java来执行的. 你执行一下ps -ef |grep tomcat如果输出: sun 5144 1 0 10:21 pts/1 00 ...
- linux shell监本监控java进程自动重启
监控shell脚本:monitor.sh 注意:脚本中"source /etc/profile"是因为crontab执行脚本无法取到环境变量,导致进程启动不起来,所以这个必须加上 ...
- jmx监控java进程_用VisualVM远程监控Java进程
1. 配置并启动jstatd 在用jvisualvm监控远程机器前,需要在对端启动一个RMI服务器. 1.1 创建jstatd权限配置文件 jstatd.all.policy [plain]grant ...
- linux xxx命令,linux命令ps aux|grep xxx详解
对进程进行监测和控制,首先必须要了解当前进程的情况,也就是需要查看当前进程, 而ps命令(Process Status)就是最基本同时也是非常强大的进程查看命令. 使用该命令 可以确定有哪些进程正在运 ...
- linux下的ps aux | grep -c php-fpm 与netstat -napo |grep php-fpm | wc -l 命令
一.使用背景 查询某个程序的进程数,以及输出该程序通过TCP,UDP,Unix Socket等方式建立的连接数.我这边是想获取到php-fpm程序的进程数. 二.获取php-fpm的进程数 ps au ...
最新文章
- android省市二级联动的实现
- delete hive_「挑战30万年薪」 Hive语句详解之从SQL到HQL的应转习惯
- java实现map和object互转
- this--学习笔记
- golang 监听服务的信号,实现平滑启动,linux信号说明
- php上传图片文件常用的几个方法
- SCOM 2007 R2监控系统安装部署(一)SCOM简介及安装SQL Server 2008 R2 数据库
- java面试题框架知识点总结
- vue+elementui 字体改用思源黑体
- windows环境下,搭建RTSP视频推流服务器
- c语言网络时间校准,c语言如何建时间校准来和电脑一致?
- MYSQL 面试常见问题汇总
- Python定时爬虫脚本
- 新手必看学习JAVA的N个理由,看阿…
- NAND Flash硬件读写原理
- linux androidx86双系统,实用教程:PC实现Windows/原生安卓双系统
- systeminfo卡死一例分析
- 心血漏洞(OpenSSL升级)
- 2021李宏毅机器学习笔记--12 attack ML models
- linux kernle 同步原语