nodejs页面显示linux系统cpu内存和磁盘占用率的前后端怎么写
时间: 2024-03-20 15:40:07 浏览: 120
要在 Node.js 网页中显示 Linux 系统的 CPU、内存和磁盘占用率,需要分别在后端和前端实现获取数据和显示数据的功能。
以下是后端的代码示例,用于获取系统的 CPU、内存和磁盘占用率:
```javascript
const os = require('os');
// 获取 CPU 占用率
const cpuUsage = os.loadavg()[0];
// 获取内存占用率
const totalMem = os.totalmem();
const freeMem = os.freemem();
const memUsage = (1 - freeMem / totalMem) * 100;
// 获取磁盘占用率
const diskUsage = ((os.totalmem() - os.freemem()) / os.totalmem()) * 100;
// 将占用率数据保存在一个对象中并返回
const usage = {
cpu: cpuUsage,
memory: memUsage,
disk: diskUsage
};
res.status(200).json(usage);
```
在上述代码中,我们使用 Node.js 内置的 `os` 模块获取系统的 CPU、内存和磁盘占用率,并将这些占用率数据保存在一个对象中并返回。
以下是前端的代码示例,用于显示后端返回的系统占用率数据:
```html
<div>
<p>CPU 占用率:<span id="cpu-usage"></span>%</p>
<p>内存占用率:<span id="memory-usage"></span>%</p>
<p>磁盘占用率:<span id="disk-usage"></span>%</p>
</div>
<script>
// 使用 Fetch API 异步获取后端返回的数据
fetch('/system-usage')
.then(response => response.json())
.then(usage => {
// 将占用率数据显示在页面中
document.getElementById('cpu-usage').textContent = usage.cpu.toFixed(2);
document.getElementById('memory-usage').textContent = usage.memory.toFixed(2);
document.getElementById('disk-usage').textContent = usage.disk.toFixed(2);
})
.catch(error => console.error(error));
</script>
```
在上述代码中,我们使用 Fetch API 异步获取后端返回的系统占用率数据,并将这些数据显示在页面中。
需要注意的是,以上代码仅供参考,具体实现方式可能因环境、需求等因素而异。另外,为了保证系统占用率数据的准确性和安全性,建议在实现时使用适当的权限控制、错误处理和数据加密等技术手段。
阅读全文