37 lines
1.2 KiB
Markdown
37 lines
1.2 KiB
Markdown
# Memtester 交叉编译和使用
|
||
|
||
Memtester 主要是捕获内存错误和一直处于很高或者很低的坏位,其测试的主要项目有随机值、异或比较、减法、乘法、除法、与或运算等等。通过给定测试内存的大小和次数,可以对系统现有的内存进行上面项目的测试。
|
||
|
||
## 1.安装/编译
|
||
|
||
### 1.1.安装
|
||
|
||
在 Linux 系统上可使用软件包管理器直接安装 Memtester:
|
||
|
||
```bash
|
||
# Manjaro
|
||
sudo pacman -S memtester
|
||
```
|
||
|
||
### 1.2.交叉编译
|
||
|
||
如果需要交叉编译,可从 [官网](http://pyropus.ca/software/memtester/) 下载源码包,当前版本为 4.5.0。其中:memtester.c、tests.c、memtester.h、tests.h、sizes.h 和 types.h 用于生成 memtester 工具。
|
||
|
||
交叉编译时需修改 conf-cc 和 conf-ld 文件,将其中的 “cc” 修改为交叉编译工具链中的 gcc。然后在源码目录下:
|
||
|
||
```bash
|
||
make
|
||
```
|
||
|
||
将生成 memtester 工具。
|
||
|
||
如需使用 8-bit Writes 和 16-bit Writes 测试功能,则需打开 TEST_NARROW_WRITES 宏。
|
||
|
||
## 2.使用
|
||
|
||
```bash
|
||
memtester [-p physaddrbase [-d device]] <mem>[B|K|M|G] [loops]
|
||
```
|
||
|
||
如果指定了 -d 参数,则将使用该设备的 mmap 内存空间。
|