Java监控一个进程的执行状态

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Java监控一个进程的执行状态相关的知识,希望对你有一定的参考价值。

想监控一个进程的不同状态(就绪,执行,阻断等)PS:Win系统,Java。代码示例。

参考技术A 应用程序很高兴对所有这些活动一无所知。它只知道自己的虚拟地址空间。但是,如果当前在主存中的页面集(称为 驻留集)少于实际要使用的页面集(称为 工作集),应用程序的性能很快就会显著降低。(不幸的是,本文中您将看到,我们要讨论的工具常常交换使用这两个术语,尽管它们指的是完全不同的事物。)  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 按钮,就可以看到计数器的定义。说明出现在主对话框下方弹出的单独的窗口中。

系统监控及软件包管理

一、系统监控

1.top指令:列出系统中各个资源占用情况

free指令:显示内存使用状态     -m内存使用情况

2.buffer:用于存放要输出到disk的数据

cache:存放从disk上读出的数据

3.进程是程序的一次动态执行。

守护进程:就是系统后台一种保护进程的系统服务。

父进程:当一个进程创建另一个进程时,第一个进程称为父进程。

子进程:新的那个进程称为子进程

4.uname-a查看系统信息

5.ps aux显示所用进程信息

ps aux |grep 包含该进程的信息

kill -9 杀死进程

pkill -9以进程名杀死进程

jobs查看工作号

kill -9 %工作号 杀死该进程

pstree查看进程树

pgrep检查进程工作号

二、软件包管理

1.rpm文件名分为五部分:

1.1是软件包名称

1.2软件包版本编号

1.3软件包版本发布次数

1.4.软件包用于哪个平台

1.5软件包的扩展名

2基本指令

-i安装

-v显示详细的信息

-h显示安装进度

-e删除

=U升级旧版本

rpm -qi:显示软件包详细信息

rpm -ql:显示该系统安装的全部安装包

rpm -qa|grep :查看系统是否安装该软件包

rpm -qf:显示文件由哪个安装包产生

which ls:查看ls这个命令在哪个文件下

3.yun主要是为了解决rpm的依赖关系的问题

4.写本地yum源

vim local_repo

写其中信息

【local】

name:local repo

baseurl:file:///opt   指定yum源在哪个目录下

enabled:1

gpgcheck:0

5.yum基本指令

yum clean all清理缓存

yum install安装软件包

yum -y install 不提示直接安装软件包

yum erase 删除

yum makecache -y创建缓存,提高安装的速度

yum reinstall 软件包 -y执行覆盖安装

yum update -y整个操作系统更新

yum groupinstall安装软件包组

yum search 软件包查找

6.在本地做yum仓库

下载rpm到指定的仓库文件中

有createrepo工具,对仓库文件做依赖性

修改本地yum源纸箱仓库文件夹

 

以上是关于Java监控一个进程的执行状态的主要内容,如果未能解决你的问题,请参考以下文章

JVM探秘:VisualVM监控远程Java进程

Zabbix通过进程名监控进程状态配置详解

linuxlinux实操篇之进程管理

系统监控及软件包管理

深入浅出java多线程编程

监控和管理进程