更具体地说:我想从程序内部找到这些信息,最好是在它开始交换之前,以便我能做出反应。到目前为止,我发现:
/proc
内的信息,这不是很有用
mincore
系统调用似乎在Linux和bsd上可用,但要求我传入我感兴趣的所有页面(可能已经足够了,但有点单调乏味)
还有什么想法?
答案 0 :(得分:2)
的vmstat
要每2秒运行一次,请说“vmstat 2”。它为您提供如下输出:
procs -----------memory---------- ---swap-- -----io---- --system-- -----cpu------
r b swpd free buff cache si so bi bo in cs us sy id wa st
0 0 0 16124 431352 439000 0 0 4 2 37 18 0 0 100 0 0
“si”和“so”列是“swap-in”和“swap-out”。 Swapd是交换设备中的内存量。 Swapd应该是稳定的,而si则为零。
<强>记住:强>
你不应该问“我的程序是否交换” - 而不是“是系统交换”。你的程序可能导致其他人交换 - 其他人可能会导致你的交换,等等。无论哪种方式,当发生这种情况时 - 性能d ...我... ... ... ....