/ proc / mem中有很多字段:我知道我不能只使用“MemFree”,因为实际上缓存了大量内存.所以问题是,我如何计算可用内存量?@H_403_2@
假设:@H_403_2@
>系统配置为没有交换空间.@H_403_6@>我对“可用内存”的定义是当malloc达到零时malloc开始失败.
free.c – ‘free’命令行实用程序的源代码@H_403_6@sysinfo.c – 有关如何读入/ proc / meminfo的示例,请参阅方法meminfo().@H_403_2@
虽然阅读/ proc很简单,能够预测malloc是否会失败并不容易.正如其他人提到的问题,例如过度使用这个问题.标准的方法是尝试分配你需要的东西,如果你不能让它优雅地失败或者用更少的工作.@H_403_2@
如果你有足够的时间,这一系列文章值得一读:What every programmer should know about memory.