2013-01-04 4 views
3

시스템을 모니터하기 위해 mac os 프로그램을 작성하려고합니다 (활동 모니터와 비슷 함). 나는 함수 vm_stat에보고하고 난 그것을 실행할 때 나는이있어 :Mac OS에서 vm_stat을 이해하고, 그 숫자를 활동 모니터와 비슷한 것으로 변환하는 방법은 무엇입니까?

Page Ins: 1.61gb (8.00kb/sec) 
Page outs: 598.6 MB 

나는이에 대한 질문이 있습니다 : 내가 활동 모니터를 실행할 때

Mach Virtual Memory Statistics: (page size of 4096 bytes) 
Pages free:       438386. 
Pages active:      236438. 
Pages inactive:      113750. 
Pages speculative:     34293. 
Pages wired down:     225027. 
"Translation faults":    11132566. 
Pages copy-on-write:    319385. 
Pages zero filled:     6618647. 
Pages reactivated:     23071. 
Pageins:       421804. 
Pageouts:       153240. 
Object cache: 14 hits of 24183 lookups (0% hit rate) 

그러나, 내가 좋아하는 뭔가를 가지고 : 방법

답변

1
  1. 256 메가 바이트 (256 pages * 4096 bytes per page = 1048576 bytes 일명 2 20 B의 페이지 수있다 (활동 모니터에 비해) vmstat를 무료 페이지가 너무 작아서 와서 ytes는 1 메가 바이트) 페이지가 4096 바이트라고 가정합니다. vm_stat의 숫자는 페이지에 있으며 페이지 크기가 4096 바이트라는 것을 알려주기 때문에 반드시 256을 하드 코딩 할 필요가 없습니다.
  2. 당신이 비교하기 위해 액티비티 모니터를 보여주지 않았기 때문에 확실하게 말할 수는 없지만 이것은 "인간이 읽을 수있는"단위를 사용하여 페이지 및 활동 모니터 단위를 사용하여 vm_stat으로 다시 의심됩니다. 동일한 값 (또는 Activity Monitor가 지속적으로 업데이트되는 경우 닫음).
+0

감사합니다. :) 이제 이해합니다. :) – Josh