导航:首页 > 操作系统 > jconsole远程linux

jconsole远程linux

发布时间:2025-05-23 06:41:35

⑴ 如何查看unix 的java内存使用情况

jmap (linux下特有,也是很常用的一个命令)
观察运行中的jvm物理内存的占用情况。
参数如下:
-heap :打印jvm heap的情况
-histo: 打印jvm heap的直方图。其输出信息包括类名,对象数量,对象占用大小。
-histo:live : 同上,但是只答应存活对象的情况
-permstat: 打印permanent generation heap情况
命令使用:
jmap -heap 3409
可以观察到New Generation(Eden Space,From Space,To Space),tenured generation,Perm Generation的内存使用情况
输出内容:
jmap -histo 3409 | jmap -histo:live 3409
可以观察heap中所有对象的情况(heap中所有生存的对象的情况)。包括对象数量和所占空间大小。
输出内容:
写个脚本,可以很快把占用heap最大的对象找出来,对付内存泄漏特别有效。
如果结果很多,可以用以下命令输出到文本文件。
jmap -histo 3409 | jmap -histo:live 3409 > a.txt
jinfo:可以输出并修改运行时的java 进程的opts。
jps:与unix上的ps类似,用来显示本地的java进程,可以查看本地运行着几个java程序,并显示他们的进程号。
jstat:一个极强的监视VM内存工具。可以用来监视VM内存内的各种堆和非堆的大小及其内存使用量。
jmap:打印出某个java进程(使用pid)内存内的所有'对象'的情况(如:产生那些对象,及其数量)。
jconsole:一个java GUI监视工具,可以以图表化的形式显示各种数据。并可通过远程连接监视远程的服务器VM。
详细:在使用这些工具前,先用JPS命令获取当前的每个JVM进程号,然后选择要查看的JVM。
jstat工具特别强大,有众多的可选项,详细查看堆内各个部分的使用量,以及加载类的数量。使用时,需加上查看进程的进程id,和所选参数。以下详细介绍各个参数的意义。
jstat -class pid:显示加载class的数量,及所占空间等信息。
jstat -compiler pid:显示VM实时编译的数量等信息。
jstat -gc pid:可以显示gc的信息,查看gc的次数,及时间。其中最后五项,分别是young gc的次数,young gc的时间,full gc的次数,full gc的时间,gc的总时间。
jstat -gccapacity:可以显示,VM内存中三代(young,old,perm)对象的使用和占用大小,如:PGCMN显示的是最小perm的内存使用量,PGCMX显示的是perm的内存最大使用量,PGC是当前新生成的perm内存占用量,PC是但前perm内存占用量。其他的可以根据这个类推, OC是old内纯的占用量。
jstat -gcnew pid:new对象的信息。
jstat -gcnewcapacity pid:new对象的信息及其占用量。
jstat -gcold pid:old对象的信息。
jstat -gcoldcapacity pid:old对象的信息及其占用量。
jstat -gcpermcapacity pid: perm对象的信息及其占用量。
jstat -util pid:统计gc信息统计。
jstat -printcompilation pid:当前VM执行的信息。
除了以上一个参数外,还可以同时加上 两个数字,如:jstat -printcompilation 3024 250 6是每250毫秒打印一次,一共打印6次,还可以加上-h3每三行显示一下标题。
jmap是一个可以输出所有内存中对象的工具,甚至可以将VM 中的heap,以二进制输出成文本。
命令:jmap -mp:format=b,file=heap.bin
file:保存路径及文件名
pid:进程编号
?jmap -histo:live pid| less :堆中活动的对象以及大小
?jmap -heap pid : 查看堆的使用状况信息
jinfo:的用处比较简单,就是能输出并修改运行时的java进程的运行参数。用法是jinfo -opt pid 如:查看2788的MaxPerm大小可以用 jinfo -flag MaxPermSize 2788。
jconsole是一个用java写的GUI程序,用来监控VM,并可监控远程的VM,非常易用,而且功能非常强。使用方法:命令行里打 jconsole,选则进程就可以了。
JConsole中关于内存分区的说明。
Eden Space (heap): 内存最初从这个线程池分配给大部分对象。
Survivor Space (heap):用于保存在eden space内存池中经过垃圾回收后没有被回收的对象。
Tenured Generation (heap):用于保持已经在 survivor space内存池中存在了一段时间的对象。
Permanent Generation (non-heap): 保存虚拟机自己的静态(refective)数据,例如类(class)和方法(method)对象。Java虚拟机共享这些类数据。这个区域被分割为只读的和只写的,
Code Cache (non-heap):HotSpot Java虚拟机包括一个用于编译和保存本地代码(native code)的内存,叫做“代码缓存区”(code cache)
?jstack ( 查看jvm线程运行状态,是否有死锁现象等等信息) : jstack pid : thread mp
?jstat -gcutil pid 1000 100 : 1000ms统计一次gc情况统计100次;
另外推荐一款查看jmap mp 的内存对象工具 MemoryAnalyzer

⑵ Linux下如何查看tomcat是否启动。

在Linux环境下,启动Tomcat需要进入其安装目录,具体路径为/apache-tomcat-6.0.26/bin。启动时,运行命令./startup.sh,这将启动Tomcat服务。若要停止Tomcat,则执行./shutdown.sh命令。此操作将停止正在运行的Tomcat服务。

对于远程监控Tomcat控制台,可以采用一种简便的方法:首先,导航至tomcat/logs文件夹。然后,输入tail -f catalina.out命令。这将实时显示Tomcat控制台输出的内容,帮助你监控应用运行状态。

除了直接使用命令行工具外,你还可以通过Web界面来查看Tomcat的状态。只需访问http://localhost:8080(或者相应IP地址和端口号),即可打开Tomcat默认的管理界面。在这个界面中,你可以查看各种运行参数和配置信息。

对于更详细的日志信息,建议配置日志文件,比如将日志文件保存到其他位置,或者设置不同的日志级别,以便更好地管理日志信息。此外,还可以使用Logback或Log4j等日志框架来增强日志功能,使其更加灵活和强大。

在日常运维过程中,定期检查Tomcat服务状态和日志文件,对于及时发现和解决问题非常重要。定期执行这些操作,可以帮助你更好地管理Tomcat环境。

除了上述方法,你还可以利用一些第三方工具来监控Tomcat,如JConsole或VisualVM。这些工具提供了更丰富的功能,可以帮助你更深入地了解Tomcat的运行状况。通过这些工具,你可以监控线程状态、堆内存使用情况等关键指标。

综上所述,Linux环境下查看Tomcat是否启动及监控其状态,可以通过命令行操作、Web界面访问或使用第三方监控工具来实现。这些方法各有特点,你可以根据实际需求选择合适的方式。

阅读全文

与jconsole远程linux相关的资料

热点内容
宏杰加密软件有哪些 浏览:876
75x41x15用简便算法怎么算 浏览:425
android快速拨号 浏览:464
移动设备如何绑定服务器 浏览:350
杭州联合银行下载什么手机app 浏览:387
去掉pdf中的文字格式 浏览:540
解剖学pdf下载 浏览:178
androidapkdemo 浏览:647
rplsp文件夹能删除吗 浏览:249
分数的算法有哪几种 浏览:918
有序链表合并java 浏览:750
吃麻辣烫的程序员 浏览:811
公司研报一般用什么app看 浏览:35
新买的汽车模块还要编程吗 浏览:943
cnc编程入门自学 浏览:835
编译器怎么检查重新编译 浏览:664
pdf重排安卓 浏览:247
linux设置自动重启 浏览:223
桂林市php高级程序员招聘 浏览:682
安卓机信号图标怎么美化 浏览:322