Có cách nào để chuyển đổi thông tin os.cpus() thành phần trăm không? Cũng giống như đầu ra của iostat (trên phần CPU).Chuyển đổi đầu ra của os.cpus() trong Node.js thành phần trăm
Mã của tôi:
var os = require('os');
console.log(os.cpus());
Sản lượng:
[ { model: 'MacBookAir4,2',
speed: 1800,
times:
{ user: 5264280,
nice: 0,
sys: 4001110,
idle: 58703910,
irq: 0 } },
{ model: 'MacBookAir4,2',
speed: 1800,
times:
{ user: 2215030,
nice: 0,
sys: 1072600,
idle: 64657440,
irq: 0 } },
{ model: 'MacBookAir4,2',
speed: 1800,
times:
{ user: 5973360,
nice: 0,
sys: 3197990,
idle: 58773760,
irq: 0 } },
{ model: 'MacBookAir4,2',
speed: 1800,
times:
{ user: 2187650,
nice: 0,
sys: 1042550,
idle: 64714820,
irq: 0 } } ]
Tôi muốn có "lần" số liệu chuyển đổi ra tỷ lệ phần trăm, giống như là hiển thị trên các iostat
lệnh:
cpu
us sy id
6 3 91
Tôi hiểu rằng các giá trị trong chức năng nodejs nằm trong các dấu CPU, nhưng tôi không có ide tôi nên sử dụng công thức nào để chuyển đổi chúng thành tỷ lệ phần trăm :)
Cảm ơn.
Vậy là xong ! Đó là công thức tôi đang tìm kiếm. Cảm ơn :) – rogeriopvl
Không thể tin rằng tôi bị mất os. * API khi nhìn: -/Có bạn đi mà nên được tất cả các bạn cần. – w00t
Cần lưu ý rằng điều này chỉ mang lại cho bạn mức sử dụng trung bình theo thời gian kể từ khi máy được khởi động lần cuối. Nếu bạn chạy không hoạt động trong một tuần và tăng đột biến đến mức sử dụng CPU 100%, tập lệnh này sẽ vẫn hiển thị máy gần như không hoạt động. Một cách tiếp cận tốt hơn có thể là sử dụng setTimeout để đo số liệu thống kê trước và sau một hoặc hai giây chờ đợi, trừ các dấu bắt đầu từ các dấu kết thúc và thực hiện các phép tính trên đó. –