新内存压力测试似乎失败

新内存压力测试似乎失败

我已经从 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,因此应该有足够的内存可用于执行此操作。这实际上是上述命令的作用吗?如果是这样,那么这是测试所有内存是否正常工作的正确方法吗?

第二,上述错误是否表明我的内存有问题?

答案1

不,根据手册页,您没有正确使用命令。请尝试:

stress --vm 1 --vm-bytes 7G

尝试根据需要调整 vm 参数。请注意memtest86被普遍认为是对记忆力的一种更好的测试。

相关内容