Referece:
https://github.com/littlekernel/lk/tree/master/app
memtest
Source http://benjr.tw/96460
701 total views, 2 views today
之前用過 Memtest86+
http://benjr.tw/491 ,無法直接在 Linux 環境下直接來使用,Memtester 可以直接在 Linux 環境下執行,且可以從 apt-get 下載使用,官方網站
http://pyropus.ca/software/memtester/
root@ubuntu:~# apt-get install memtester
Reading package lists... Done
Building dependency tree
Reading state information... Done
The following packages were automatically installed and are no longer required:
linux-headers-4.4.0-31 linux-headers-4.4.0-31-generic
linux-image-4.4.0-31-generic linux-image-extra-4.4.0-31-generic
Use 'apt autoremove' to remove them.
The following NEW packages will be installed:
memtester
0 upgraded, 1 newly installed, 0 to remove and 8 not upgraded.
Need to get 16.2 kB of archives.
After this operation, 66.6 kB of additional disk space will be used.
Get:1 http:
Fetched 16.2 kB in 1s (11.6 kB/s)
Selecting previously unselected package memtester.
(Reading database ... 242316 files and directories currently installed.)
Preparing to unpack .../memtester_4.3.0-3_amd64.deb ...
Unpacking memtester (4.3.0-3) ...
Processing triggers for man-db (2.7.5-1) ...
Setting up memtester (4.3.0-3) ...
|
使用上也很簡單,只需要指定要測試的記憶體大小 (單位: B/K/M/G) 以及測試次數 (Loops) 即可.
Usage: memtester [-p physaddrbase [-d device]] [B|K|M|G] [loops]
|
我的系統是 Ubuntu16.04 1G 記憶體 的 VMware 虛擬機器.
root@ubuntu:~# memtester 200M 1
memtester version 4.3.0 (64-bit)
Copyright (C) 2001-2012 Charles Cazabon.
Licensed under the GNU General Public License version 2 (only).
pagesize is 4096
pagesizemask is 0xfffffffffffff000
want 200MB (209715200 bytes)
got 200MB (209715200 bytes), trying mlock ...locked.
Loop 1/1:
Stuck Address : ok
Random Value : ok
Compare XOR : ok
Compare SUB : ok
Compare MUL : ok
Compare DIV : ok
Compare OR : ok
Compare AND : ok
Sequential Increment: ok
Solid Bits : ok
Block Sequential : ok
Checkerboard : ok
Bit Spread : ok
Bit Flip : ok
Walking Ones : ok
Walking Zeroes : ok
8-bit Writes : ok
16-bit Writes : ok
Done.
|
Memtester 主要會針對記憶體做以下的測試
- Stuck Address
- Random Value -test random value
- Compare XOR – test xor comparison
- Compare SUB – test sub comparison
- Compare MUL – test mul comparison
- Compare DIV – test div comparison
- Compare OR – test or comparison
- Compare AND – test and comparison
- Sequential Increment – test seqinc comparison
- Solid Bits – test solidbits comparison
- Block Sequential – test blockseq comparison
- Checkerboard – test checkerboard comparison
- Bit Spread – test bitspread comparison
- Bit Flip – test bitflip comparison
- Walking Ones – test walk bits 1 comparison
- Walking Zeroes – test_walk bits 0 comparison
- 8-bit Writes – test 8bit wide random
- 16-bit Writes -test 16bit wide random
memtester 是透過 malloc 函數來要求記憶體空間,所以在設定測試記憶體空間時沒有辦法把全部的記憶體都拿來測試.
root@ubuntu:~# free
total used free shared buff/cache available
Mem: 998312 158264 740632 80 99416 698696
Swap: 1046524 492832 553692
|
透過 free 可以看到,系統大概還有 700M 可以用,所以上限大概也就在這裡.
Linux 底下記憶體的使用區分下面幾種.
- Total Memory
系統所有的記憶體容量.
- Used Memory
Total(998,312) – Free(740632) – Buffers/Cache(99416) 就是目前所有有在使用中的記憶體數量.
- Free Memory
尚未使用到的的記憶體.
- shared Memory
used by tmpfs , 允許 processes (程序) 透過 Shared memory 共享儲存於記憶體中的 common structures 和 Data.
- Buffered Memory
資料還來不及儲存到硬碟中暫儲在記憶體的資料.
- Cached Memory
資料已經由硬碟中讀取出來,提供給應用程式接下來使用,用以提高存取效能.
- Available
估計有多少記憶體可用於啟動新應用程式,無需透過 swapping
超過系統能給的時候 memtester 就不會繼續執行.
root@ubuntu:~# memtester 1G 1
memtester version 4.3.0 (64-bit)
Copyright (C) 2001-2012 Charles Cazabon.
Licensed under the GNU General Public License version 2 (only).
pagesize is 4096
pagesizemask is 0xfffffffffffff000
want 1024MB (1073741824 bytes)
got 1024MB (1073741824 bytes), trying mlock ...Killed
|
root@ubuntu:~# memtester 700M 1
memtester version 4.3.0 (64-bit)
Copyright (C) 2001-2012 Charles Cazabon.
Licensed under the GNU General Public License version 2 (only).
pagesize is 4096
pagesizemask is 0xfffffffffffff000
want 700MB (734003200 bytes)
got 700MB (734003200 bytes), trying mlock ...locked.
Loop 1/1:
Stuck Address : ok
Random Value : ok
Compare XOR : ok
Compare SUB : ok
Compare MUL : ok
Compare DIV : ok
Compare OR : ok
Compare AND : ok
Sequential Increment: ok
Solid Bits : ok
Block Sequential : ok
Checkerboard : ok
Bit Spread : ok
Bit Flip : setting 99Killed
|
沒有留言:
張貼留言