【发布时间】:2009-06-26 10:26:41
【问题描述】:
我的一个朋友在一次工作面试中被要求编写一个程序来测量可用 RAM 的数量。预期的答案是以二进制搜索方式使用malloc():分配越来越大的内存部分直到收到失败消息,减小部分大小,并对分配的内存量求和。
我相信这种方法将测量虚拟内存量,而不是物理内存量。但是我对这件事很好奇。
有没有办法在不使用exec(dmesg |grep -i memory) 的情况下从程序中得知可用 RAM 的数量?
【问题讨论】:
-
对于每日 FTW 来说,这听起来像是一个不错的面试故事。
-
听起来像是一个测试面试者对一般内存管理知识的问题——虚拟内存等
-
不过,这是一个不错的选择。它测试操作系统和内存管理知识以及创造力。一个人可以在不了解内存管理的情况下提出解决方案。