https://www.npmjs.com/package/lsof-mac-fast 파일의 속도를 높이는 훌륭한 작업을 수행하는이 작은 NPM 패키지를 발견했습니다 .
그것을 사용하기 위해 래퍼 스크립트를 만들었습니다.
node ~/tools/MacOs/lsof.js db.mv.db 1000
repeating using interval: 1000
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
java 7336 jumar 256u REG 1,4 194465792 53854404
db.mv.db
이것은 내 스크립트입니다 :
// https://www.npmjs.com/package/lsof-mac-fast
var fastLsof = require('lsof-mac-fast');
var myArgs = process.argv.slice(2);
var fileToCheck = myArgs[0];
var repeatIntervalMs = myArgs[1];
// console.log('myArgs: ', myArgs);
function lsofFile(file) {
fastLsof.lsof([file], function(err, stdout, stderr) {process.stdout.write(stdout)});
}
if (repeatIntervalMs) {
// repeat until killed
// https://javascript.info/settimeout-setinterval
console.log('repeating using interval: ' + repeatIntervalMs);
var timerId = setInterval(() => lsofFile(fileToCheck), repeatIntervalMs);
} else {
// just one time
lsofFile(fileToCheck);
}
반복 간격은 실제로 낮을 수 있습니다. 예를 들어 10ms가 제대로 작동하는 것 같습니다.
lsof
보여줍니까? 해당 파일을 몇 개의 프로세스와 스레드로 열었습니까? lsof를 실행하지 않을 때 CPU로드는 무엇입니까?