58

I have Ubuntu 11 running off a 3.6GB USB flash/stick drive. System has 4GB RAM and blank hard disk (wiped using DBAN tool).

How do I check if there are no errors in my RAM? Is there a guaranteed way to check that via some Linux command? If not, it would be great to know why.

2
  • 2
    Before booting up Ubuntu access the GRUB screen and select memtest. Sep 8 '13 at 23:16
  • 1
    You can use memtester once booted into linux.. e.g. sudo memtester 1024 5 This should allocate 1024MB of memory, and repeat the test 5 times. Feb 6 '16 at 22:05
78

By installing the memtester package, you can check your system for errors while it's still running. No need for a restart, just run that application.

To install it, open a terminal and type:

sudo apt install memtester

You can then use it like so:

sudo memtester 1024 5

This should allocate 1024MB of memory, and repeat the test 5 times.

Update

  • If you have more RAM like 4GB or 8GB, it is upto you how much memory you want to allocate for testing.
  • As your operating system, current running process might take some amount of RAM, Please check available Free RAM and assign that too memtester.
  • If you are using a 32 Bit System, you cant test more than 4 GB even though you have more RAM( 32 bit systems doesnt support more than 3.5 GB RAM as you all know).
  • If your system is very busy and you still assigned higher than available amount of RAM, then the test might get your system into a deadlock, leads to system to halt, be aware of this.
  • Run the memtester as root user, so that memtester process can malloc the memory, once its gets hold on that memory it will try to apply lock. if specified memory is not available, it will try to reduce required RAM automatically and try to lock it with mlock.
  • if you run it as a regular user, it cant auto reduce the required amount of RAM, so it cant lock it, so it tries to get hold on that specified memory and starts exhausting all system resources.

Hope this helps.

7
  • 14
    Does this somehow mean that only a part of the memory is tested, and the rest remains untested? How can I make sure that all of the memory is tested?
    – donquixote
    Mar 8 '16 at 6:16
  • 3
    Only that part of memory is tested!
    – MajesticRa
    Oct 4 '16 at 11:35
  • 4
    Upvoted, but unless I've missed something it is not possible to do a thorough test of the entire memory using memtester as the system becomes totally unresponsive (or even memtester fails to claim the full extent of memory you are asking for). So I guess memtester's use case is when you are trying to test a particular area of memory using some advanced arguments which I haven't explored. Otherwise for a through scan use UNetbootin that runs before loading the operating system and any user programs (so the responsiveness issues becomes moot). Nov 13 '16 at 20:31
  • So,if we have 4gb/ram we should at least test 3900mb, not only 1024. Sep 2 at 12:41
  • @Goran_Ilic_Ilke, No. Its depends upon how much free RAM you have in your system. Memtester not only for checking RAM health but also for CPU, Over heating CPU related issues.
    – rɑːdʒɑ
    Sep 2 at 14:25
31

The Ubuntu Live CD includes a tool called Memtest86+ that will do just that—test your computer’s RAM. Boot up from the Ubuntu LiveCD, press and hold the Shift key, which will bring up the GRUB menu. Select Memory Test

enter image description here

3
  • 15
    You don't even have to have the live CD. You can just press Shift repeatedly during startup of linux to get to the exact same menu.
    – iFreilicht
    Sep 7 '15 at 9:06
  • 3
    The Ubuntu Live CD no longer comes with this option. Jun 26 '19 at 16:29
  • 2
    Apparently memtest86+ is not available if your computer is running in UEFI mode ("because it is a 16-bit program"). It will not show up in grub. An alternative is memtest86 (without the "+") version, which is not FOSS but still offers a freeware version. They claim you can get it to work with grub but I could not figure it out... However it is easy to set up on a USB memory stick. See [askubuntu.com/questions/917961/…
    – bct
    Aug 7 '19 at 7:35
3

I have found mprime to be a good tool to test memory: ftp://mersenne.org/gimps/

(mprime can also be used to stress test your CPU)

Alternatively, use the package stress-ng to run all kind of stress tests (including memory test) on your machine.

2

No need for Memtest86+:

  1. Reboot your computer: reboot.

  2. At the GRUB boot screen (with UEFI, press Esc).

  3. For 4 passes add temporarily the memtest=4 kernel parameter.

    memtest=        [KNL,X86,ARM,PPC,RISCV] Enable memtest
                    Format: <integer>
                    default : 0 <disable>
                    Specifies the number of memtest passes to be
                    performed. Each pass selects another test
                    pattern from a given set of patterns. Memtest
                    fills the memory with this pattern, validates
                    memory contents and reserves bad memory
                    regions that are detected.
    

    screenshot

1

Reboot your computer, and at the GRUB boot screen, select memtest.

6
  • 12
    This seems to assume that we would be seeing the GRUB boot screen at statup. I, for one, do not.
    – 42-
    Jan 5 '17 at 20:06
  • 1
    @42- Hold SHIFT key while booting a computer. Oct 27 '17 at 5:51
  • 6
    memtest86+ is not available for EFI systems. It's only for BIOS. You may look for a proprietary alternative for EFI.
    – Artyom
    Nov 8 '17 at 19:49
  • For EFI systems, hold ESC while booting.
    – IronEagle
    May 24 '19 at 20:41
  • @IronEagle still in UEFI memtest86+ is not supported currently. No chance.
    – stephanmg
    May 25 at 13:40

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.