Guest User!

You are not Sophos Staff.

This discussion has been locked.
You can no longer post new replies to this discussion. If you have a question you can start a new discussion

Did the RAM limits change for Home edition for 16.05.2 to 4GB?

Did the limits for RAM on Home edition get changed with SFOS 16.05.2 MR2? I'm only seeing 4GB after update. Still only showing 4GB after rolling back to SFOS 16.05.1 MR-1. I was seeing 6GB usable before upgrade.



This thread was automatically locked due to age.
Parents
  • Hi All,

    We are investigating the issue, please be sure, we are gathering as much information to provide a better RCA on this matter.  Can we get the output of the following two commands:

    1. cat /proc/meminfo | grep -i memtotal
    2. free
    3. dmidecode -t memory

    Alongside, the users who saw 8 GB RAM utilization for the Home editions was a defect in the initial implementation due to which the SFOS, used to scale up to full available capacity. The defect (NC- 16008) got resolved recently.

    Thanks

  • SFVH_SO01_SFOS 16.05.2 MR-2# cat /proc/meminfo | grep -i memtotal
    MemTotal:        3954008 kB
    SFVH_SO01_SFOS 16.05.2 MR-2# free
                 total         used         free       shared      buffers
    Mem:       3954008      3624944       329064            0       284132
    -/+ buffers:            3340812       613196
    Swap:      1976476         4456      1972020

    I'm not expecting to use 8G but instead 6G. The mem=6G fix which i assume is part of NC-16008 is incompatible with some configurations resulting in the loss of 2 or more GB of memory beyond what would be expected when the system has 8GB of memory. Even if i had a 4GB and 2GB dimm there's no guarantee i would see any more memory than i do now.

    I took the memory map that was logged during boot and determined that the available memory shown is 6GB minus all the reserved areas. If you add up the usable memory range values in the log below it is ‭4101809‬K which is very close to the available boot memory below.

    Memory: 3952648K/4101804K available (5864K kernel code, 812K rwdata, 2152K rodata, 1336K init, 564K bss, 149156K reserved

    Reserved memory appears to be the culprit and the mem=6G just drops all memory over 6G not taking into account reserved memory deductions. I do not know if this is fixed in newer kernels or if it's a known issue.

    memory map for syslog.log after the memory over 6G is removed(e820: remove).

    Mar 17 22:21:48 (none) user.info kernel: [    0.000000] Original command line: auto BOOT_IMAGE=16_05_2160 console=tty0 console=ttyS0,38400n8 quiet maxcpus=4 mem=6G ZD=80 SM=
    Mar 17 22:21:48 (none) user.debug kernel: [    0.000000] e820: remove [mem 0x180000000-0xfffffffffffffffe] usable
    Mar 17 22:21:48 (none) user.info kernel: [    0.000000] NX (Execute Disable) protection: active
    Mar 17 22:21:48 (none) user.info kernel: [    0.000000] e820: user-defined physical RAM map:
    Mar 17 22:21:48 (none) user.info kernel: [    0.000000] user: [mem 0x0000000000000000-0x000000000009c7ff] usable
    Mar 17 22:21:48 (none) user.info kernel: [    0.000000] user: [mem 0x000000000009c800-0x000000000009ffff] reserved
    Mar 17 22:21:48 (none) user.info kernel: [    0.000000] user: [mem 0x00000000000e0000-0x00000000000fffff] reserved
    Mar 17 22:21:48 (none) user.info kernel: [    0.000000] user: [mem 0x0000000000100000-0x000000001effffff] usable
    Mar 17 22:21:48 (none) user.info kernel: [    0.000000] user: [mem 0x000000001f000000-0x00000000201fffff] reserved
    Mar 17 22:21:48 (none) user.info kernel: [    0.000000] user: [mem 0x0000000020200000-0x000000007b217fff] usable
    Mar 17 22:21:48 (none) user.info kernel: [    0.000000] user: [mem 0x000000007b218000-0x000000007b292fff] reserved
    Mar 17 22:21:48 (none) user.info kernel: [    0.000000] user: [mem 0x000000007b293000-0x000000007b3bafff] usable
    Mar 17 22:21:48 (none) user.info kernel: [    0.000000] user: [mem 0x000000007b3bb000-0x000000007b81ffff] ACPI NVS
    Mar 17 22:21:48 (none) user.info kernel: [    0.000000] user: [mem 0x000000007b820000-0x000000007bb2ffff] reserved
    Mar 17 22:21:48 (none) user.info kernel: [    0.000000] user: [mem 0x000000007bb30000-0x000000007bffffff] usable
    Mar 17 22:21:48 (none) user.info kernel: [    0.000000] user: [mem 0x00000000e0000000-0x00000000efffffff] reserved
    Mar 17 22:21:48 (none) user.info kernel: [    0.000000] user: [mem 0x00000000fea00000-0x00000000feafffff] reserved
    Mar 17 22:21:48 (none) user.info kernel: [    0.000000] user: [mem 0x00000000fec00000-0x00000000fec00fff] reserved
    Mar 17 22:21:48 (none) user.info kernel: [    0.000000] user: [mem 0x00000000fed01000-0x00000000fed01fff] reserved
    Mar 17 22:21:48 (none) user.info kernel: [    0.000000] user: [mem 0x00000000fed03000-0x00000000fed03fff] reserved
    Mar 17 22:21:48 (none) user.info kernel: [    0.000000] user: [mem 0x00000000fed06000-0x00000000fed06fff] reserved
    Mar 17 22:21:48 (none) user.info kernel: [    0.000000] user: [mem 0x00000000fed08000-0x00000000fed09fff] reserved
    Mar 17 22:21:48 (none) user.info kernel: [    0.000000] user: [mem 0x00000000fed1c000-0x00000000fed1cfff] reserved
    Mar 17 22:21:48 (none) user.info kernel: [    0.000000] user: [mem 0x00000000fed80000-0x00000000fedbffff] reserved
    Mar 17 22:21:48 (none) user.info kernel: [    0.000000] user: [mem 0x00000000fee00000-0x00000000fee00fff] reserved
    Mar 17 22:21:48 (none) user.info kernel: [    0.000000] user: [mem 0x00000000ffb00000-0x00000000ffffffff] reserved
    Mar 17 22:21:48 (none) user.info kernel: [    0.000000] user: [mem 0x0000000100000000-0x000000017fffffff] usable

  • found a script online that adds up the memory regions in /proc/iomem

     

    ALL MEMORY REGIONS, Just shy of 6GB

    Total Bytes: 6420106218

    Excluding System RAM: (grep -v RAM added in for loop)  - This is the memory i'm missing with mem=6G 

    Total Bytes: 2219856880 

    System Ram: (grep RAM added in for loop) - The usable memory i have in the system as it is now with mem=6G
    Total Bytes: 4200249338

     

    Here's the version that worked in sophos xg shell. i had to modify from the original

     

    for i in `cat /proc/iomem | egrep "^[^\s]" | awk '{ print $1}' | sort  | uniq`
    do
      startAddr=$(echo $i | awk -F "-" '{print $1}') &&  endAddr=$(echo $i | awk -F "-" '{print $2}');
      bytes=$((0x$endAddr-0x$startAddr))
      sum=$((sum+=$bytes))
    done
     echo "Total Bytes:" $sum

     

     

  • Hi Kevin,

    Can you please post me the output by executing the below command:

    dmidecode -t memory

    This will verify the installed RAM on each memory slot.

    Thanks

Reply Children
  • Here is the information. There is 8G of memory in the system. It has been verified compatible on the crucial website.

    SFVH_SO01_SFOS 16.05.2 MR-2# dmidecode -t memory
    # dmidecode 2.12
    SMBIOS 3.0 present.
    # SMBIOS implementations newer than version 2.7 are not
    # fully supported by this version of dmidecode.

    Handle 0x0028, DMI type 16, 23 bytes
    Physical Memory Array
            Location: System Board Or Motherboard
            Use: System Memory
            Error Correction Type: None
            Maximum Capacity: 8 GB
            Error Information Handle: Not Provided
            Number Of Devices: 2

    Handle 0x002A, DMI type 17, 40 bytes
    Memory Device
            Array Handle: 0x0028
            Error Information Handle: Not Provided
            Total Width: 64 bits
            Data Width: 64 bits
            Size: 4096 MB
            Form Factor: DIMM
            Set: None
            Locator: A1_DIMM0
            Bank Locator: A1_BANK0
            Type: DDR3
            Type Detail: Unknown
            Speed: 1600 MHz
            Manufacturer: Crucial
            Serial Number: E05BEFD7
            Asset Tag: A1_AssetTagNum0
            Part Number: CT51264BF160B.C16F
            Rank: 2
            Configured Clock Speed: 1600 MHz
            Minimum voltage:  1.350 V
            Maximum voltage:  1.500 V
            Configured voltage:  1.350 V

    Handle 0x002C, DMI type 17, 40 bytes
    Memory Device
            Array Handle: 0x0028
            Error Information Handle: Not Provided
            Total Width: 64 bits
            Data Width: 64 bits
            Size: 4096 MB
            Form Factor: DIMM
            Set: None
            Locator: A1_DIMM1
            Bank Locator: A1_BANK1
            Type: DDR3
            Type Detail: Unknown
            Speed: 1600 MHz
            Manufacturer: Crucial
            Serial Number: E05BEFD8
            Asset Tag: A1_AssetTagNum1
            Part Number: CT51264BF160B.C16F
            Rank: 2
            Configured Clock Speed: 1600 MHz
            Minimum voltage:  1.350 V
            Maximum voltage:  1.500 V
            Configured voltage:  1.350 V