• 首页 首页 icon
  • 工具库 工具库 icon
    • IP查询 IP查询 icon
  • 内容库 内容库 icon
    • 快讯库 快讯库 icon
    • 精品库 精品库 icon
    • 问答库 问答库 icon
  • 更多 更多 icon
    • 服务条款 服务条款 icon

nodejs 获取windows cpu、gpu和内存使用情况

武飞扬头像
bdawn
帮助1

获取系统cpu、gpu和内存使用情况

const nodeCMD = require('node-cmd');
const os = require('os-utils');

const serverInfo = {
	cpuUsage: 0,
	gpuUsage: 0,
	freeMem: 0,
	totalMem: 0
}

/**
 * 获取系统内存情况
 */
function getMem() {
	serverInfo.freeMem = os.freemem()
	serverInfo.totalMem = os.totalmem()
}

/**
 * 获取系统cpu利用率
 */
async function getCPUUsage() {
	let promise = new Promise((resolve, reject) => {
		os.cpuUsage(function(v){
			resolve(v)
		});
	});
	
	serverInfo.cpuUsage = await promise
}

/**
 * 获取系统gpu(nvidia)利用率
 */
async function getGPUUsage() {
	let promise = new Promise(resolve => {
		nodeCMD.get('nvidia-smi -q -d UTILIZATION', (e, b, c) => {
			if (!e) {
				let a = b.split('\r\n').find(s => s.indexOf('Gpu') >= 0 && s.indexOf('%') >= 0)
				let start = a.indexOf(':') 2
				let end = a.indexOf('%')-1
				let ss = a.substring(start, end)
				resolve(ss)
			}
		})
	})
	serverInfo.gpuUsage = await promise
}


setInterval(() => {
	getCPUUsage()
	getGPUUsage()
	getMem()
}, 8000)

module.exports = serverInfo

学新通

这篇好文章是转载于:学新通技术网

  • 版权申明: 本站部分内容来自互联网,仅供学习及演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,请提供相关证据及您的身份证明,我们将在收到邮件后48小时内删除。
  • 本站站名: 学新通技术网
  • 本文地址: /boutique/detail/tanhggaehb
系列文章
更多 icon
同类精品
更多 icon
继续加载