| What: /sys/devices/system/memory |
| Date: June 2008 |
| Contact: Badari Pulavarty <pbadari@us.ibm.com> |
| Description: |
| The /sys/devices/system/memory contains a snapshot of the |
| internal state of the kernel memory blocks. Files could be |
| added or removed dynamically to represent hot-add/remove |
| operations. |
| Users: hotplug memory add/remove tools |
| http://www.ibm.com/developerworks/wikis/display/LinuxP/powerpc-utils |
| |
| What: /sys/devices/system/memory/memoryX/removable |
| Date: June 2008 |
| Contact: Badari Pulavarty <pbadari@us.ibm.com> |
| Description: |
| The file /sys/devices/system/memory/memoryX/removable is a |
| legacy interface used to indicated whether a memory block is |
| likely to be offlineable or not. Newer kernel versions return |
| "1" if and only if the kernel supports memory offlining. |
| Users: hotplug memory remove tools |
| http://www.ibm.com/developerworks/wikis/display/LinuxP/powerpc-utils |
| lsmem/chmem part of util-linux |
| |
| What: /sys/devices/system/memory/memoryX/phys_device |
| Date: September 2008 |
| Contact: Badari Pulavarty <pbadari@us.ibm.com> |
| Description: |
| The file /sys/devices/system/memory/memoryX/phys_device |
| is read-only; it is a legacy interface only ever used on s390x |
| to expose the covered storage increment. |
| Users: Legacy s390-tools lsmem/chmem |
| |
| What: /sys/devices/system/memory/memoryX/phys_index |
| Date: September 2008 |
| Contact: Badari Pulavarty <pbadari@us.ibm.com> |
| Description: |
| The file /sys/devices/system/memory/memoryX/phys_index |
| is read-only and contains the section ID in hexadecimal |
| which is equivalent to decimal X contained in the |
| memory section directory name. |
| |
| What: /sys/devices/system/memory/memoryX/state |
| Date: September 2008 |
| Contact: Badari Pulavarty <pbadari@us.ibm.com> |
| Description: |
| The file /sys/devices/system/memory/memoryX/state |
| is read-write. When read, it returns the online/offline |
| state of the memory block. When written, root can toggle |
| the online/offline state of a memory block using the following |
| commands:: |
| |
| # echo online > /sys/devices/system/memory/memoryX/state |
| # echo offline > /sys/devices/system/memory/memoryX/state |
| |
| On newer kernel versions, advanced states can be specified |
| when onlining to select a target zone: "online_movable" |
| selects the movable zone. "online_kernel" selects the |
| applicable kernel zone (DMA, DMA32, or Normal). However, |
| after successfully setting one of the advanced states, |
| reading the file will return "online"; the zone information |
| can be obtained via "valid_zones" instead. |
| |
| While onlining is unlikely to fail, there are no guarantees |
| that offlining will succeed. Offlining is more likely to |
| succeed if "valid_zones" indicates "Movable". |
| Users: hotplug memory remove tools |
| http://www.ibm.com/developerworks/wikis/display/LinuxP/powerpc-utils |
| |
| |
| What: /sys/devices/system/memory/memoryX/valid_zones |
| Date: July 2014 |
| Contact: Zhang Zhen <zhenzhang.zhang@huawei.com> |
| Description: |
| The file /sys/devices/system/memory/memoryX/valid_zones is |
| read-only. |
| |
| For online memory blocks, it returns in which zone memory |
| provided by a memory block is managed. If multiple zones |
| apply (not applicable for hotplugged memory), "None" is returned |
| and the memory block cannot be offlined. |
| |
| For offline memory blocks, it returns by which zone memory |
| provided by a memory block can be managed when onlining. |
| The first returned zone ("default") will be used when setting |
| the state of an offline memory block to "online". Only one of |
| the kernel zones (DMA, DMA32, Normal) is applicable for a single |
| memory block. |
| |
| What: /sys/devices/system/memoryX/nodeY |
| Date: October 2009 |
| Contact: Linux Memory Management list <linux-mm@kvack.org> |
| Description: |
| When CONFIG_NUMA is enabled, a symbolic link that |
| points to the corresponding NUMA node directory. |
| |
| For example, the following symbolic link is created for |
| memory section 9 on node0: |
| |
| /sys/devices/system/memory/memory9/node0 -> ../../node/node0 |
| |
| |
| What: /sys/devices/system/node/nodeX/memoryY |
| Date: September 2008 |
| Contact: Gary Hade <garyhade@us.ibm.com> |
| Description: |
| When CONFIG_NUMA is enabled |
| /sys/devices/system/node/nodeX/memoryY is a symbolic link that |
| points to the corresponding /sys/devices/system/memory/memoryY |
| memory section directory. For example, the following symbolic |
| link is created for memory section 9 on node0. |
| |
| /sys/devices/system/node/node0/memory9 -> ../../memory/memory9 |
| |
| What: /sys/devices/system/memory/crash_hotplug |
| Date: Aug 2023 |
| Contact: Linux kernel mailing list <linux-kernel@vger.kernel.org> |
| Description: |
| (RO) indicates whether or not the kernel updates relevant kexec |
| segments on memory hot un/plug and/or on/offline events, avoiding the |
| need to reload kdump kernel. |