什么是我的Amazon EC2实例使用我的内存?


9

我目前在Amazon EC2上运行单个GPU群集计算节点,该节点被列出为每个实例具有22 GB RAM。top确认实例确实具有22 GB的RAM,但是在空闲系统上,似乎一直在使用5-6 GB的RAM。既不top也不ps aux能够识别到这种用法是归属的处理。

5-6 GB对于我来说对于操作系统来说似乎太大了,但也许我错了。由于Amazon上的虚拟化,这可能会产生额外的费用吗?关于如何进行追踪的任何其他想法或建议?


1
您是否在此计算中包括内存缓存?显示proc meminfo的内容可能会很有用。
Ray Vahey 2011年

Answers:



5

当您查看top时,您看到的可用内存是内核缓存之前的值。

top - 12:59:25 up 1 day, 15:47,  5 users,  load average: 0.04, 0.10, 0.12
Tasks: 161 total,   1 running, 160 sleeping,   0 stopped,   0 zombie
Cpu(s):  3.5%us,  1.8%sy,  0.0%ni, 94.2%id,  0.4%wa,  0.0%hi,  0.1%si,  0.0%st
Mem:   3985464k total,  3369908k used,   615556k free,   752964k buffers
Swap:  1951740k total,       12k used,  1951728k free,  1439160k cached

我的笔记本电脑总共有3985464千字节的内存。但是linux内核会在内部缓存大部分缓存,因此top仅显示619748kB的可用内存。但是,如果您使用free命令查看它,您就会了解到,实际上,大多数内存都可以在缓存中使用。

$ free
             total       used       free     shared    buffers     cached
Mem:       3985464    3365716     619748          0     752796    1439152
-/+ buffers/cache:    1173768    2811696
Swap:      1951740         12    1951728

真正的可用内存是缓冲区/高速缓存行中显示的内存。

             total       used       free     shared    buffers     cached
-/+ buffers/cache:    1173768    2811696

本机为2.8GB的可用内存。


这非常令人困惑,因为我想我不了解缓存的作用。您的意思是“ Linux内核将缓存[3985464k的总内存]的大部分”?您声明top然后仅显示另一个数字,但是仅显示表示该另一个数字将较小,而您引用的数字较大。在此处插入从头开始的笑脸。
亚当
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.