如何使用Spring开发和监控线程池服务

如何使用Spring开发和监控线程池服务,第1张

线程池对执行同步或异步的任务很重要。本文展示如何利用Spring开发并监控线程池服务。创建线程池的其他两种方法已讲解过。

使用技术

JDK 160_21

Spring 305

Maven 302

第1步:创建Maven工程

下面是一个maven工程。(可以使用Maven或IDE的插件创建)。

第2步:添加依赖库

将Spring的依赖添加到Maven的pomxml文件中。

<!-- Spring 3 dependencies -->

<dependency>

<groupId>orgspringframework</groupId>

<artifactId>spring-core</artifactId>

<version>${springversion}</version>

</dependency>

<dependency>

<groupId>orgspringframework</groupId>

<artifactId>spring-context</artifactId>

<version>${springversion}</version>

</dependency>

使用下面的插件创建可执行jar包。

<plugin>

<groupId>orgapachemavenplugins</groupId>

<artifactId>maven-shade-plugin</artifactId>

<version>131</version>

<executions>

<execution>

<phase>package</phase>

<goals>

<goal>shade</goal>

通过微软的ProcessMonitor可以监控软件

Process Monitor是来自微软官方的一款高级监视工具,可以实时监控、报告Windows文件系统、注册表、进程、线程的活动。

从界面上看,Process Monitor很像是被微软收购了的Sysinternals的Filemon和Regmon,但事实上它是完全重写的,并在Filemon和Regmon的基础上进行了增强,比如监视进程线程的启动和退出及其载入的DLL文件和内核驱动程序、丰富的非破坏性过滤、会话ID和用户名等大量的事件属性、可靠的进程信息、全面的线程堆栈、同步记录到日志文件、分析进程关系、可删除性搜索等等。

这些特性令Process Monitor成为一款强有力的系统诊断以及恶意软件捕捉工具。

Process Monitor支持Windows 2000/XP/Server 2003/Vista等系统,包括64-bit版本。

下载地址:>

WinPatrol也叫“Windows Watch Dog”,是一款出色的网络安全工具,能及时的发现蠕虫病毒、广告软件、间谍软件、cookies、木马程序以及

其它能攻击你电脑的恶意病毒。如果发现病毒,该程序会及时隔离,无需即时更新。它能告诉你那些程序是得到你允许的,而那些又是违法运行的。从而有效的保护你的电脑免受其他恶意程序的破坏。强烈推荐!!!!!

后台开启一个线程一直运行,每隔1分钟左右发送一个心跳报文给服务器,以确保时刻跟服务器链接。若超过3次服务器未对客户端发送的心跳报文做出回应则重新链接。 如果这么作的话,必须确保和服务器达成一定的应用层协议。

可以使用以下方式监控 Tomcat 内存和线程数:

监控 Tomcat 进程的内存使用情况,可以使用系统工具如 top(Linux/Unix)或 Task Manager(Windows),或者使用第三方监控工具如 jstat, jmap, VisualVM 等。

监控 Tomcat 线程数,可以使用 jstack 命令获取线程信息,然后统计线程数。例如,在 Linux/Unix 系统中,可以使用以下命令获取 Tomcat 进程的线程信息:

jstack -l <pid> | grep "javalangThreadState" | wc -l

其中 <pid> 是 Tomcat 进程的进程号。该命令会输出当前 Tomcat 进程中的线程数。

另外,也可以使用 Tomcat 内置的管理工具来监控内存和线程数。例如,在 Tomcat 8 或以上版本中,可以使用 Tomcat 自带的 Manager App 来监控 Tomcat 内存和线程数。在 Manager App 的首页上,可以看到 Tomcat 当前的内存使用情况和活动线程数。如果需要更详细的信息,可以点击页面上的 Server Status 或 Thread Pool 链接,查看更详细的信息。

CPU资源时,按照以下步骤进行查找:

(一):通过 top -p 12377 -H 查看java进程的有哪些线程的运行情况;

和通过jstack 12377 > stacklog生成Java线程的dump详细信息;

先用top命令找出占用资源厉害的java进程id,如图:# top

如上图所示,java的进程id为’52554′,接下来用top命令单独对这个进程中的所有线程作监视:

1 top -p 52554 -H

# top视图里面里面可以通过快捷键依次b ,x高亮显示top的列找出需要的线程,默认CPU排序,Sh

1根据进程号进行查询:

# pstree -p 进程号

# top -Hp 进程号

2根据进程名字进行查询:

# pstree -p `ps -e | grep server | awk '{print $1}'`

# pstree -p `ps -e | grep server | awk '{print $1}'` | wc -l

这里利用了管道和命令替换,

关于命令替换,我也是今天才了解,就是说用``括起来的命令会优先执行,然后以其输出作为其他命令的参数,

上述就是用 ps -e | grep server | awk '{print $1}' 的输出(进程号),作为 pstree -p 的参数

管道和命令替换的区别是:

管道:管道符号"|"左边命令的输出作为右边命令的输入

命令替换:将命令替换符"``"中命令的输出作为其他命令相应位置的参数

以上就是关于如何使用Spring开发和监控线程池服务全部的内容,包括:如何使用Spring开发和监控线程池服务、监控某个软件的所有 *** 作、请推荐一款监视后台程序运行的软件等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zz/10066347.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-04
下一篇 2023-05-04

发表评论

登录后才能评论

评论列表(0条)

保存