This discussion is archived
6 Replies Latest reply: May 30, 2013 3:26 AM by Dude! RSS

How do I suppress generation of a dmesg on physical memory access in OL6U4?

1011331 Newbie
Currently Being Moderated
Hi,

We have a physical memory diagnostic test we use to test memory. This requires us to access physical memory. Each time we run our test we see dmesg flooded with messages like below:

[286386.707865] Program pmemtest tried to access /dev/mem between 1b9c27d000->1b9c37d000.
[286386.707869] Program pmemtest tried to access /dev/mem between 1b9c37d000->1b9c47d000.
[286386.707876] Program pmemtest tried to access /dev/mem between 1b9c47d000->1b9c57d000.
[286386.707880] Program pmemtest tried to access /dev/mem between 1b9c57d000->1b9c67d000.
[286386.707885] Program pmemtest tried to access /dev/mem between 1b9c67d000->1b9c77d000.
[286386.707889] Program pmemtest tried to access /dev/mem between 1b9c77d000->1b9c87d000.
[286386.707894] Program pmemtest tried to access /dev/mem between 1b9c87d000->1b9c97d000.
[286386.707899] Program pmemtest tried to access /dev/mem between 1b9c97d000->1b9ca7d000.
[286386.707903] Program pmemtest tried to access /dev/mem between 1b9ca7d000->1b9cb7d000.
[286386.707908] Program pmemtest tried to access /dev/mem between 1b9cb7d000->1b9cc7d000.
[286386.707913] Program pmemtest tried to access /dev/mem between 1b9cc7d000->1b9cd24300.

Is there a mechanism to selectively suppress such messages from being generated while the physical memory diagnostic is being run?

Thanks,
--Shrikant                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                           
  • 1. Re: How do I suppress generation of a dmesg on physical memory access in OL6U4?
    Dude! Guru
    Currently Being Moderated
    I'm not aware of pmemtest for Linux. Where did you get it from?

    From what I can gather, pmemtest exists only for Solaris under Spark or x86.

    The dmesg utility displays the kernel ring buffer and displays kernel related messages only. The kernel ring buffer is a circular buffer and logged in /var/log/messages by the rsyslogd/syslogd daemon. You can configure the rsyslog daemon and control what and were information is being written. You can also control what log level dmesg is showing, but as far as I know you cannot control what appears /proc/kmsg.

    The concept as such is differnet from Solaris, for instance, where dmesg shows the last lines of /var/adm/messages.
  • 2. Re: How do I suppress generation of a dmesg on physical memory access in OL6U4?
    1011331 Newbie
    Currently Being Moderated
    The pmemtest referred to for Solaris, is the same pmemtest that has been ported to work on Linux. Our challenge is to suppress the flood of messages in dmesg and /var/log/messages with these messages..

    For context, these diagnostic tests run stress tests in parallel -- CPu, FPUTEST, Memory, I/O to try to simulate maximum utilisation and stress on the HW to identify weaknesses and any defects. This runs as an user space app as a super user.

    I'll look to see if I can achieve this by configuring syslogd/syslogd, thanks for the suggestion.
    --Shrikant                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                               
  • 3. Re: How do I suppress generation of a dmesg on physical memory access in OL6U4?
    Dude! Guru
    Currently Being Moderated
    Can the pmemtest utility be downloaded for Linux? Perhaps you can stop the syslog daemon (service stop rsyslogd) for the duration of the test and redirect output of the utility to a file. At least this would not fill up your /var/log/messages.

    Testing memory and other electronic components can be quite tricky. I once had a system that would crash every 10 days for no apparent reason. No memory test would detect any issues, but the problem turned out to be RAM used by CPU0 that happened to fail after a certain period of time. I was surprised to see that the vendor (HP) was actually maintaining a secret list of the memory DIMM's with known suspicious chip-sets by production numbers. I finally discovered the source of the problem after scanning in the memory riser boards for the vendor, which showed a slight cut in one of the contact pins that was only visible under magnification.
  • 4. Re: How do I suppress generation of a dmesg on physical memory access in OL6U4?
    TommyReynolds Expert
    Currently Being Moderated
    Much depends on the technique used to access the physical memory. What technique is used to access physical memory?
  • 5. Re: How do I suppress generation of a dmesg on physical memory access in OL6U4?
    1011331 Newbie
    Currently Being Moderated
    The physical memory is read in chunks of 1G each, chunk size can be variable. It's a simple malloc() of the chunk size and pread(2) from /dev/mem with or without some offsets.
  • 6. Re: How do I suppress generation of a dmesg on physical memory access in OL6U4?
    Dude! Guru
    Currently Being Moderated
    Why not using some other, more common tool for Linux?

    For instance:
    # yum install memtest86+
    
    Description : Memtest86+ is a thorough stand-alone memory test for x86 and x86-64
                : architecture computers. BIOS based memory tests are only a quick
                : check and often miss many of the failures that are detected by
                : Memtest86+.
                : 
                : The ELF version should be used for booting from grub,
                : and avoids the following errors:
                : "Error 7: Loading below 1MB is not supported"
                : "Error 13: Invalid or unsupported executable format"
                : "Error 28: Selected item cannot fit into memory"
                : 
                : The script '/usr/sbin/memtest-setup' can be run (as root)
                : to add the memtest86+ entry to your GRUB boot menu.
    There are also user space tools like the following, which compile fine under Oracle Linux.

    http://pyropus.ca/software/memtester/

Legend

  • Correct Answers - 10 points
  • Helpful Answers - 5 points