Linux系统出现bus error错误

在使用memtester工具对DDR进行压力测试时,出现了一下的报错:

# memtester 200M 1
memtester version 4.3.0 (32-bit)
Copyright (C) 2001-2012 Charles Cazabon.
Licensed under the GNU General Public License version 2 (only).

pagesize is 4096
pagesizemask is 0xfffff000
want 200MB (209715200 bytes)
got  200MB (209715200 bytes), trying mlock ...locked.
Loop 1/1:
  Stuck Address       : testing   0Bus error

也就是最后显示的“Bus error”,刚巧,不就之前在我这块Linux系统的ARM板子上使用benchmark测试的时候也出现了“Bus error”的错误,一时没有找到什么原因。网上对这个错误有很多的说法,其中有一个观点是:Linux平台上执行malloc(),如果没有足够的RAM,Linux不是让malloc()失败返回,而是向当前进程分发SIGBUS信号。所以我怀疑是memtester申请的内存太大了(200M),所以我改为:memtester 50M 1。就能正常执行了。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章