首页 > IT基础架构 > 服务器/存储 > 代码实现ubuntu系统进程内存监控
磁盘IO
通过读取 /proc/diskstats 文件,该文件包含了磁盘的IO统计信息,包括读取次数、写入次数等。
打开文件,逐行读取并输出磁盘IO统计信息。
import java.io.BufferedReader;
import java.io.FileReader;
import java.io.IOException;
public class DiskIO {
public static void getDiskIO() throws IOException {
BufferedReader reader = new BufferedReader(new FileReader("/proc/diskstats"));
String line;
while ((line = reader.readLine()) != null) {
System.out.println(line);
}
reader.close();
}
public static void main(String[] args) throws IOException {
getDiskIO();
}
}
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
网络流量
通过读取 /proc/net/dev 文件,该文件包含了网络设备的统计信息,包括接收和发送的字节数等。
打开文件,逐行读取并输出网络设备的统计信息。
import java.io.BufferedReader;
import java.io.FileReader;
import java.io.IOException;
public class NetworkTraffic {
public static void getNetworkTraffic() throws IOException {
BufferedReader reader = new BufferedReader(new FileReader("/proc/net/dev"));
String line;
while ((line = reader.readLine()) != null) {
System.out.println(line);
}
reader.close();
}
public static void main(String[] args) throws IOException {
getNetworkTraffic();
}
}
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
进程信息
通过读取 /proc/[pid]/status 文件,该文件包含了特定进程的状态信息,包括进程ID、进程状态等。
打开文件,逐行读取并输出进程的状态信息。
import java.io.BufferedReader;
import java.io.FileReader;
import java.io.IOException;
public class ProcessInfo {
public static void getProcessInfo(int pid) throws IOException {
BufferedReader reader = new BufferedReader(new FileReader("/proc/" + pid + "/status"));
String line;
while ((line = reader.readLine()) != null) {
System.out.println(line);
}
reader.close();
}
public static void main(String[] args) throws IOException {
getProcessInfo(1234); // Replace 1234 with actual PID
}
}
-----------------------------------
©著作权归作者所有:来自51CTO博客作者wx5f184b1820e35的原创作品,请联系作者获取转载授权,否则将追究法律责任
代码实现ubuntu系统进程内存监控
https://blog.51cto.com/u_14882565/10289984
来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/18997112/viewspace-3011189/ ,如需转载,请注明出处,否则将追究法律责任。