之前用過 Memtest86+ https://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://us.archive.ubuntu.com/ubuntu xenial/universe amd64 memtester amd64 4.3.0-3 [16.2 kB] 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]] <mem>[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
沒有解決問題,試試搜尋本站其他內容