Ⅰ 请教java怎么监控AIX的进程
首先要查谁用CPU最多:显示前10个累计占用CPU时间的进程#ps-e|head-n1;ps-e|grep-v"TIME|0:"|sort+2b-3-n-r|head-n10显示前10个当前占用CPU时间的进程#ps-ef|head-n1;ps-ef|grep-v"C|0:00"|sort+3b-4-n-r|head-n10Aix命令:列出使用内存和Cpu前几位的进程(1)显示10个消耗cpu最多的进程#psaux|head-1;psaux|sort-rn+2|head-10(2)显示10个消耗内存最多的进程#psvx|head-1;psvx|grep-vPID|sort-rn+6|head-10(3)显示10个换页最多的进程#psvx|head-1;psvx|grep-vPID|sort-rn+4|head-10(4)显示10个消耗存储空间最多的进程#psaux|head-1;psaux|sort-rn+3|head-10如何监控进程的内存使用情况(AIX)AIX监控进程内存使用的工具比较多,个人觉得比较方便的有nmon,svmon,其中svmon是AIX自带的工具,需要root权限执行,可以监控进程详细内存使用信息,如:svmon-Ppid(要监控的进程PID)-i1(每秒刷新一次)|greppidAIX下进程内存分析AIX下可以使用psv工具或者svmon工具来分析进程内存。比如:#svmon-P23288--------------------------------------------------------------------------------bitMthrd23288ora_pmon_ge17813workshmat/mmap1182400118240..2470017611perscode,largefile/dev96810--0....21804:65474....面这几个命令组合对于管理RS/6000AIX系统有帮助:(1)显示10个消耗CPU最多的进程:#psaux|head-1;psaux|sort-rn+2|head–10(2)显示10个消耗存储空间最多的进程:#psaux|head-1;psaux|sort-rn+3|head-10(3)按顺序显示系统中受罚的进程:#ps-eakl|head-1;ps-eakl|sort-rn+5(4)按优先级顺序显示系统中的进程:#ps-eakl|sort-n+6|head(5)按处理时间为顺序显示系统中的前十个进程:#psvx|head-1;psvx|grep-vPID|sort-rn+3|head–10(6)按实际内存使用的多少顺序显示系统中的前十个进程:#psvx|head-1;psvx|grep-vPID|sort-rn+6|head–10(7)按换入页面的多少顺序显示系统中的前10个进程:#psvx|head-1;psvx|grep-vPID|sort-rn+4|head-10(责任编辑:优优系统)
Ⅱ 如何用java实现远程监控linux服务器磁盘io
对于远程监控Linux主机系统CPU,内存使用情况,以前也使用了top等命令,但是最后还是觉得使用vmstat比较好.
运行top命令获得系统CPU使用情况有两个缺点,
第一运行top命令,执行的shell语句相对复杂.
用top命令获得CPU使用情况的shell语句
top -b -n 2 | grep Cpu |sed 1d | awk '{print $5}' | cut -f 1 -d "."
第二:有时候系统峰值时间很短暂,容易造成误判.
注意:运行本例子,你还需要下载第三方ganymed-ssh2-build251beta1.jar,改软件主要用于通过ssh远程登录被监控主机.
ITjob上。看。的
Ⅲ Java监控一个进程的执行状态
应用程序很高兴对所有这些活动一无所知。它只知道自己的虚拟地址空间。但是,如果当前在主存中的页面集(称为 驻留集)少于实际要使用的页面集(称为 工作集),应用程序的性能很快就会显着降低。(不幸的是,本文中您将看到,我们要讨论的工具常常交换使用这两个术语,尽管它们指的是完全不同的事物。) Task Manager 和 PerfMon 我们首先考察两种最常见的工具:Task Manager 和 PerfMon。这两个工具都随 Windows 一起提供,因此由此起步比较容易。 Task Manager Task Manager 是一种非常见的 Windows 进程监控程序。您可以通过熟悉的 Ctrl-Alt-Delete 组合键来启动它,或者右击任务栏。Processes 选项卡显示了最详细的信息,如图 2 所示。 图 2. Task Manager 进程选项卡 图 2 中显示的列已经通过选择 View --> Select Columns 作了调整。有些列标题非常含糊,但可以在 Task Manager 帮助中找到各列的定义。和进程内存使用情况关系最密切的计数器包括: Mem Usage(内存使用):在线帮助将其称为进程的工作集(尽管很多人称之为驻留集)——当前在主存中的页面集。但是这个数值包含能够和其他进程共享的页面,因此要注意避免重复计算。比方说,如果要计算共享同一个 DLL 的两个进程的总内存占用情况,不能简单地把“内存使用”值相加。 Peak Mem Usage(内存使用高峰值):进程启动以来 Mem Usage(内存使用)字段的最大值。 Page Faults(页面错误):进程启动以来要访问的页面不在主存中的总次数。 VM Size(虚拟内存大小):联机帮助将其称为“分配给进程私有虚拟内存总数。”更确切地说,这是进程所 提交的内存。如果进程保留内存而没有提交,那么该值就与总地址空间的大小有很大的差别。 虽然 Windows 文档将 Mem Usage(内存使用)称为工作集,但在该上下文中,它实际上指的是很多人所说的驻留集(resident set),明白这一点很重要。您可以在 Memory Management Reference 术语表(请参阅 参考资料)中找到这些术语的定义。 工作集 更通常的含义指的是一个逻辑概念,即在某一点上为了避免分页操作,进程需要驻留在内存中的那些页面。 PerfMon 随 Windows 一起提供的另一种 Microsoft 工具是 PerfMon,它监控各种各样的计数器,从打印队列到电话。PerfMon 通常在系统路径中,因此可以在命令行中输入 perfmon 来启动它。这个工具的优点是以图形化的方式显示计数器,很容易看到计数器随时间的变化情况。 请在 PerfMon 窗口上方的工具栏中单击 + 按钮,这样会打开一个对话框让您选择要监控的计数器,如图 3a 所示。计数器按照 性能对象分成不同的类别。与内存使用关系最密切的两个类是 Memory 和 Process。选中计数器然后单击 Explain 按钮,就可以看到计数器的定义。说明出现在主对话框下方弹出的单独的窗口中。
Ⅳ 怎么用java实现web服务器的监控
如何用Java实现Web服务器 一、HTTP协议的作用原理
WWW是以Internet作为传输媒介的一个应用系统,WWW网上最基本的传输单位是Web网页。WWW的工作基于客户机/服务器计算模型,由Web 浏览器(客户机)和Web服务器(服务器)构成,两者之间采用超文本传送协议(HTTP)进行通信。HTTP协议是基于TCP/IP协议之上的协议,是Web浏览器和Web服务器之间的应用层协议,是通用的、无状态的、面向对象的协议。HTTP协议的作用原理包括四个步骤:
(1) 连接:Web浏览器与Web服务器建立连接,打开一个称为socket(套接字)的虚拟文件,此文件的建立标志着连接建立成功。
(2) 请求:Web浏览器通过socket向Web服务器提交请求。HTTP的请求一般是GET或POST命令(POST用于FORM参数的传递)。GET命令的格式为:
GET 路径/文件名 HTTP/1.0
文件名指出所访问的文件,HTTP/1.0指出Web浏览器使用的HTTP版本。
(3) 应答:Web浏览器提交请求后,通过HTTP协议传送给Web服务器。Web服务器接到后,进行事务处理,处理结果又通过HTTP传回给Web浏览器,从而在Web浏览器上显示出所请求的页面。详细方法可向itjob老师了解
Ⅳ Java如何监控Linux系统。
啥叫监控linux系统?
写java程序执行linux命令?
try {
String command = "ping localhost";
Process ps = Runtime.getRuntime().exec(command);
BufferedReader br = new BufferedReader(new InputStreamReader(ps
.getInputStream()));
String line;
System.out.println("------------------------");
while ((line = br.readLine()) != null) {
System.out.println(line);
}
System.out.println("------------------------");
} catch (Exception e) {
e.printStackTrace();
}
执行结果:
------------------------
Pinging xxx [127.0.0.1] with 32 bytes of data:
Reply from 127.0.0.1: bytes=32 time<1ms TTL=64
Reply from 127.0.0.1: bytes=32 time<1ms TTL=64
Reply from 127.0.0.1: bytes=32 time<1ms TTL=64
Reply from 127.0.0.1: bytes=32 time<1ms TTL=64
Ping statistics for 127.0.0.1:
Packets: Sent = 4, Received = 4, Lost = 0 (0% loss),
Approximate round trip times in milli-seconds:
Minimum = 0ms, Maximum = 0ms, Average = 0ms
------------------------
修改对应的command就应该可以了 不知道你是不是这个需求?
Ⅵ java如何实现对windows系统和Tomcat服务器进行监控
可以实现,我试过,cpu、内存、磁盘空间等参数信息用C语言来写一个DLL工程(extern "c"声明),最好不要用C++写,因为C++的导出函数会变名,然后java通过JNI规范调用C编写的函数。
具体是先System.loadLibruary("dll名称");
用C函数名,注意编译DLL的时候需要java类的头文件。cmd命令:javah Java类名。再直接调C函数。
Ⅶ 有什么工具能监控java项目运行中,各个class,function,sql的执行效率,使用次数
监控java的话,可以到jdk,bin目录下有很多监控管理工具,sql的话,可以通过show processlist(mysql)命令来查看正在运行的线程,正在执行的sql
Ⅷ java 怎么监控linux上线程是否存在
CPU资源时,按照以下步骤进行查找:
(一):通过【 top -p 12377 -H】 查看java进程的有哪些线程的运行情况;
和通过【jstack 12377 > stack.log】生成Java线程的mp详细信息;
先用top命令找出占用资源厉害的java进程id,如图:# top
如上图所示,java的进程id为’52554′,接下来用top命令单独对这个进程中的所有线程作监视:
1 top -p 52554 -H
# top视图里面里面可以通过快捷键依次b ,x高亮显示top的列找出需要的线程,默认CPU排序,Sh
Ⅸ 怎么用JAVA实现监控LINUX下CPU的使用率 windows下怎么查看呢用什么方法 请高手指教,谢谢!
用java的话,有两个方法:
1.利用java直接调用shell命令查看cpu的参数(系统不同命令也不同)
类似代码:
可以查考http://aimer311.javaeye.com/blog/347908
2.利用软件linux下可以安装net-snmp实现远程和本地监控
具体方法的话比较负责你网上查查
因为不知道你的linux到底是什么系统所有我没法给你写命令
Ⅹ java 监控mysql数据库
没有使用这个命令。但是你的想法应该是可以实现的。
你可以尝试使用 linux 远程执行命令,把这个列表写到一个固定文件中。
然后通过远程读取该文件的方式获取的这个列表。