ram (computer memory)
Tags: computers
Stack Smashing Protector
- https://wiki.osdev.org/Stack_Smashing_Protector
- Process that helps detect stack buffer overruns by checking if a secret value is changed
- only detects stack buffer overruns
Memory Management
- ruby garbage collector: https://jemma.dev/blog/gc-compaction
- allocators
Garbage Collection
Linux Virtual Memory
-
Virtual memory range is divided into the kernel space part, a user space part, and a inaccessible part for catching null pointers
cat /proc/sys/vm/mmap_min_addr
-
Mode is the execution privileage (code in kernel mode vs code in user mode). Kernel mode can access user space, this is used to prevent bad accesses
-
Uniform memory space presented to process is considered the virtual process space, and this is how all process dumps are presented
-
When an app is loaded, all the referenced dynamic libraries are mapped to a virtual memory space
-
A memory dump is the process of taking all the contents of ram and writing them into a readible file
-
Process memory dump is the user space protion of the process space saved, but also your memory is not usually filled, your core dump is has everything outside of kernel space (user and null)
-
GDB commands
info shared
-> gets dynamic librariesmaintenence info sections
-> get memory regions
-
LLDB commands
image list
-> gets dynamic librariesimage dump sections
-> Get memory regions
-
Kernel panic has kernel memory dump only
-
Fiber bundle -> dumping individual processes together with the kernel memory dump
Data Centers
- HeMem Talk Feb 27th 2024
- Monitors memory access async - PEBS - processor event based sampling - supported in modern Intel
- HeMem policy moves hot pages from slow memory to fast memory, and cold pages down from hot memory to cold memory
- NVM specific becuase its using NVM counters, can be used with CXL by using the CXL specific counters
- Maybe allow the application to specify where in memory it can be
- Currently tools to monitor bandwidth are not super great
- Linux nimble tiered memory