我已经从 2G 内存升级到 8G 内存critical.com 上的建议并且新的记忆正在被识别:
$ free -m
total used free shared buffers cached
Mem: 7933 4791 3142 0 37 4076
-/+ buffers/cache: 677 7256
Swap: 4075 0 4075
我想确保所有内存工作正常,因此我尝试了一个简单的stress
测试,但出现错误:
$ stress --vm 7G --vm-bytes 1B
stress: info: [29232] dispatching hogs: 0 cpu, 0 io, 7516192768 vm, 0 hdd
stress: FAIL: [9884] (347) fork failed: Cannot allocate memory
stress: FAIL: [9884] (347) fork failed: Cannot allocate memory
stress: FAIL: [9884] (347) fork failed: Cannot allocate memory
这种情况将永远持续下去。
首先我是否stress
正确使用了该命令?文档有点稀疏,但相关部分说:
Usage: stress [OPTION [ARG]] ...
-m, --vm N spawn N workers spinning on malloc()/free()
--vm-bytes B malloc B bytes per vm worker (default is 256MB)
--vm-stride B touch a byte every B bytes (default is 4096)
--vm-hang N sleep N secs before free (default is none, 0 is inf)
--vm-keep redirty memory instead of freeing and reallocating
据我了解,上述命令是让 7G 线程各自使用一个字节的内存,由于我的系统有 8G,因此应该有足够的内存可用于执行此操作。这实际上是上述命令的作用吗?如果是这样,那么这是测试所有内存是否正常工作的正确方法吗?
第二,上述错误是否表明我的内存有问题?