Java程序各种监控命令和排查方法

1、监控进程GC情况:

jstat -gcutil pid 频率
例如:jstat -gcutil 3807 2s

2、监控CUP和内存:
命令:top,vmstat,nmon
工具:Jvisualvm ,Jprofile,perfnom,Btrace,loadrunner

3、监控IO:iostat

iostat -d -x -k 1 10

4、监控网络:ifstat,iftop,nethogs

监控总体带宽使用――nload、bmon、slurm、bwm-ng、cbm、speedometer和netload

监控总体带宽使用(批量式输出)――vnstat、ifstat、dstat和collectl

每个套接字连接的带宽使用――iftop、iptraf、tcptrack、pktstat、netwatch和trafshow

每个进程的带宽使用――nethogs

5、内存泄漏:生成dump文件,使用IBM分析器,MAT,Jprofile,Jvisualvm查看原因。

6、线程阻塞:

Jvisualvm可以查看线程阻塞情况,打印thread dump

7、数据库

oracle: 打印AWR报告,分析具体原因。

Mysql:

Redis: 监控工具redis-stat

查看Redis的连接数,已使用的内存数,阻塞连接等等

./redis-cli -h 192.168.9.32 info | grep -e "connected_clients" -e "blocked_clients" -e
"used_memory_human" -e "used_memory_peak_human" -e "rejected_connections" -e "evicted_keys" -e "instantaneous" -e "mem_fragmentation_ratio" -e "used_memory" -e "used_memory_rss"

MongoDB:

原文地址:http://blog.51cto.com/7539178/2122911

时间: 2024-08-30 10:55:42

Java程序各种监控命令和排查方法的相关文章

java程序通过jdbc连接oracle数据库方法

1.  赋予scott用户连接权限:Grant connect to scott: 2.   在Myeclipse中新建java项目导入jdbc包(classes12.jar):        右键项目 bulid path -〉add external archives 选择classes12.jar 3.   新建java文件, lianxi01.java import java.sql.Connection; import java.sql.ResultSet; import java.s

解决 Mac OS X 下 IntelliJ IDEA、jEdit 等 Java 程序中文标点输入无效的方法

Mac OS X 下基于 Java 的程序(如 IntelliJ IDEA.jEdit 等)会出现中文标点输入无效的问题,在中文输入法状态,可以输入中文字,但输入中文标点最后上去的是英文标点.查阅了相关资料,原来这是 Java 自己的 bug.从 Java 8u51 版本开始就出现了这个 bug,一直到现在最新的 Java 8u72 仍然如此,但是老版本 Java 8u45 是没有这个问题的.所以,可以采取变通的方法,在 Mac OS X 上同时装一个老版本的 JDK 8u45,不会影响已经安装

Java程序执行Linux命令(JSP运行其他程序)

java程序中要执行linux命令主要依赖2个类:Process和Runtime 首先看一下Process类: ProcessBuilder.start() 和 Runtime.exec 方法创建一个本机进程,并返回 Process 子类的一个实例,该实例可用来控制进程并获得相关信息.Process 类提供了执行从进程输入.执行输出到进程.等待进程完成. 检查进程的退出状态以及销毁(杀掉)进程的方法. 创建进程的方法可能无法针对某些本机平台上的特定进程很好地工作,比如,本机窗口进程,守护进程,M

Java程序执行Linux命令

java程序中要执行linux命令主要依赖2个类:Process和Runtime http://blog.csdn.net/a19881029/article/details/8063758 java连接centos服务器,并执行命令 java连接需要用到ganymed-ssh2. 将 ganymed-ssh2-build210.jar 加入到项目的lib中

Java程序设计基础 面向对象 练习 静态工厂方法

定义静态域nextId和一个静态方法getNextId,将三个Employee对象写入数组,然后打印雇员信息.最后打印出写一个可用的员工标识码来展示静态方法. package company; public class Gettext { public static void main(String[] args) { // TODO 自动生成的方法存根 Employee[] staff = new Employee[3]; staff[0] = new Employee("Tom",

[Sqlite]-->使用Java程序、cmd命令行来备份恢复Sqlite数据库

1,通过命令行使用.dump来备份成sql文件的方式 命令语句: C:/sqlite/sqlite3 tim.db .dump >test.sql .dump ?TABLE? ...      Dump the database in an SQL text format If TABLE specified, only dump tables matching LIKE pattern TABLE.执行效果如下图所示,可以看到备份的sql文件内容: 2,通过.read 语句来恢复数据库 命令语

Java程序执行cmd命令

import java.io.BufferedReader; import java.io.IOException; import java.io.InputStream; import java.io.InputStreamReader; import java.text.SimpleDateFormat; import java.util.Calendar; import java.util.Date; import java.util.GregorianCalendar; public c

Java 程序 关于Properties 类使用Store方法时不能会覆盖以前Properties 文件的内容

F:\\Demo.properties 文件内容: #\u65B0\u589E\u4FE1\u606F#Wed Sep 14 11:16:24 CST 2016province=广东tt=近蛋city=佛山市 java代码: public static void test() throws IOException {        FileWriter writer = new FileWriter("F:\\Demo.properties");        FileReader r

java程序执行linux命令,并线程阻塞,执行完才走下面代码

Process process;                //String rsync="/usr/bin/rsync -arp "+imageSaveTrue+" "+imageRead;                String rsync="cp "+imageSave+SMALL_IMAGE_SIGN+fileNameAll+" "+imageRead+"/upload/"; logger.