目录
需求:用java代码监控Linux服务器的cpu和内存使用,一旦超过指定值,就发送邮件提醒。
1.整体架构图
主要功能 :监控linux的cpu和内存使用率,当频率过高时,发送邮件提醒功能。
这里的SendMail工具类在上一章节写过,需要的朋友可以去看下,付链接
https://blog.csdn.net/qq_42035966/article/details/81332504
还有一个发送邮件问题,在linux上发送邮件出现延迟问题,需要去配置一下,第三点会讲下
2.代码
cpuinfo() 读取linux下的/proc/stat文件,获取cpu信息。
cpuUsage() 获取两次cpuinfo的内容,比较两次的差别,得到cpu使用率。
memoryUsage() 读取linux下的/proc/meminfo文件,获取内存信息。
main() 主入口,当使用率过高,定时发送邮件提醒。
package LinuxMonitorUtils;
import java.io.BufferedReader;
import java.io.FileInputStream;
import java.io.InputStreamReader;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.StringTokenizer;
import java.util.Timer;
import java.util.TimerTask;
import sendMailUtils.SendMail;
public class OSUtils {
/**
* 功能:获取Linux系统cpu使用率
*/
public static float cpuUsage() {
try {
Map<?, ?> map1 = OSUtils.cpu