在阿里云上弄了个最小的云服务器,512m内存,建了个
百度网盘资源站省淘网,tomcat有时会因内存占用过多,被系统回收,暂时没有太好的解决方法,就写了个小程序,监控tomcat线程,如果线程没了,就自动启动,代码如下:
package monitor;
import java.io.ByteArrayOutputStream;
import org.apache.commons.exec.CommandLine;
import org.apache.commons.exec.DefaultExecutor;
import org.apache.commons.exec.PumpStreamHandler;
public class Monitor {
public static void main(String[] args) {
try {
while (true) {
Thread.sleep(10000);
String command = "ps -ef";
ByteArrayOutputStream errorStream = new ByteArrayOutputStream();
CommandLine commandline = CommandLine.parse(command);
DefaultExecutor exec = new DefaultExecutor();
exec.setExitValue(0);
PumpStreamHandler streamHandler = new PumpStreamHandler(
errorStream);
exec.setStreamHandler(streamHandler);
exec.execute(commandline);
String result = errorStream.toString("UTF-8");
if (result.indexOf("tomcat") < 0) {
System.out.println("未找到进程,启动tomcat");
command = "./startup.sh";
commandline = CommandLine.parse(command);
exec.execute(commandline);
}
}
} catch (Exception e) {
e.printStackTrace();
}
}
}
需要依赖apache的commons-exec-1.2.jar包
当时对linux系统不熟,才写的这个,现在已经改为用linux crontab的方式了
分享到:
相关推荐
总的来说,这个基于Java的CS远程监控系统设计是一个综合性的IT项目,涵盖了网络编程、数据库管理、多线程处理、硬件交互等多个计算机科学的重要领域,对于提升学生的实践能力和理论知识都有很大的帮助。通过这样的...
此“Linux下海康监控JAVA源码demo”提供了一个基于Java的示例,使得开发者能够在Linux系统中直接进行相关功能的测试和开发。以下是这个Java源码demo可能涵盖的关键知识点: 1. **Java网络编程**:海康监控设备通常...
本文将深入探讨基于Java CS远程监控系统的关键技术和实现细节。 首先,我们需要理解Java CS架构的基础。在CS模式中,客户端是用户交互的界面,负责数据的展示和用户输入的处理,而服务器端则负责业务逻辑的处理、...
Java开发者可以使用JDK自带的`jconsole`、`jvisualvm`或第三方工具如`VisualVM`进行Java应用的线程监控。 查找异常线程的步骤: 1. **识别问题**:首先,你需要确定存在什么样的问题,比如程序无响应、频繁卡顿或...
在"Java 服务器信息监控"项目中,开发者可以编写代码来获取不同操作系统(如Windows、Linux)下的系统资源信息。这些信息包括但不限于CPU利用率、内存使用情况、网络接口状态以及服务运行状态。 首先,让我们关注...
本文将深入探讨如何使用Java来实现Linux下的CPU使用率监控。通过理解这个主题,开发者可以更好地掌握系统性能,及时发现并解决问题,确保服务的稳定运行。 首先,我们需要了解Linux系统中CPU使用率的基本概念。CPU...
本文将基于给定文件中的信息,深入探讨Java虚拟机性能监控的相关知识点。 #### 二、Java虚拟机性能监控的重要性 对于任何基于Java的应用程序来说,性能监控都是一个不可或缺的过程。随着系统负载的增加和技术的...
首先,Java作为开发语言,具有跨平台的优势,因为“一次编写,到处运行”的特性,使得Java程序可以在多种操作系统上运行,包括Windows、Linux和Mac OS等。这对于远程监控系统至关重要,因为它需要在不同的硬件和软件...
【基于ARM-Linux的网络视频监控终端的软件实现】 随着计算机网络技术和多媒体技术的快速发展,视频监控系统已经从传统的模拟方式转向数字化、网络化和智能化的嵌入式方向。基于ARM-Linux平台的网络视频监控终端因其...
在Java编程领域,远程监控是一项重要的任务,它允许开发者或管理员实时查看和管理运行在不同操作系统上的应用程序状态,如Windows和Linux。这个“java监控开发示例”旨在提供一种方法来实现这一目标,通过Java代码...
【标签】:“java”表明该系统是基于Java语言开发的,Java是一种跨平台的编程语言,可以在Windows、Linux、Mac等不同操作系统上运行,具备“一次编写,到处运行”的特性,使得该远程监控系统具备高度的兼容性和可...
`jconsole`和`jvisualvm`都是图形化的性能监控工具,它们提供了丰富的界面,可以实时监控Java应用的CPU使用、内存分配、线程状态等。`jvisualvm`还支持生成各种报告和分析堆内存转储。 `jhat`是一个命令行工具,...
【标题】"基于Java实现的GB28181平台" 涉及的主要知识点是Java编程语言以及GB28181国家标准在中国视频监控领域的应用。GB28181是中国国家公共安全行业标准,全称为《信息技术 视频监控系统联网系统信息传输、交换、...
在Linux环境中,定时执行Java程序是一项常见的需求,用于自动化任务执行,例如监控系统状态、发送短信和邮件通知。本文将详细介绍如何实现这样的功能,并探讨其中涉及的多线程技术和相关工具。 首先,我们需要一个...
在本项目"基于Java的Linux远程登录系统研究与实现"中,我们主要探讨了如何利用Java编程语言构建一个能够实现在Linux操作系统上进行远程登录的系统。这个系统的核心功能是提供安全、高效的远程访问能力,使得用户无需...
对于开发人员,JDK 1.8提供了强大的开发工具,如Javadoc用于生成API文档,JConsole用于监控Java应用的性能,JVisualVM用于分析内存和线程。对于运维人员,JDK还包含了JAR打包工具、Java Mission Control (JMC) 和 ...
它专为开发者设计,帮助他们在Linux环境中深入理解并优化Java应用程序的内存使用情况。本篇文章将详细探讨jProfiler7在Java内存分析上的核心功能、使用方法以及在Linux环境中的配置和应用。 1. **内存分析概述** -...
此外,`javadoc`用于生成API文档,`jdb`用于调试Java程序,`jconsole`和`jvisualvm`等工具则用于监控和分析Java应用的性能。 总的来说,"jdk8 java8 linux版 jdk-8u201-linux-x64.tar.zip"是一个针对Linux平台的...