Because AmnesiaOS runs entirely in RAM — with no backing store on disk — physical memory is the only resource budget you have. Understanding how that budget is allocated at runtime lets you plan workloads, set expectations for memory-intensive tasks, and choose appropriate hardware. The total overhead of the OS itself is modest: approximately 25 MB, leaving the vast majority of a modern machine’s RAM available for use.Documentation Index
Fetch the complete documentation index at: https://mintlify.com/damianiglesias/amnesiaOS/llms.txt
Use this file to discover all available pages before exploring further.
Runtime memory layout
The following diagram shows the three regions of physical RAM at runtime, from lowest address to highest:Memory regions
| Region | Approximate Size | Description |
|---|---|---|
| Linux Kernel | ~15 MB | The compiled kernel image decompressed into RAM by GRUB. Includes all built-in drivers and subsystems from the minimal kernel configuration. |
| Initramfs / tmpfs | ~10 MB | The BusyBox 1.35.0 static binary, all utility symlinks, the /init script, device nodes, and supporting files — all living inside the tmpfs that serves as the root filesystem. |
| Free RAM | Remaining | Everything above the OS footprint is available for user processes, in-session data, downloaded files, and any workloads you run during the session. |
Why tmpfs?
tmpfs is a virtual filesystem built into the Linux kernel that stores all of its data in physical RAM (and, optionally, swap — but see below). There is no block device, no disk I/O, and no persistence. When the kernel decompresses the CPIO initramfs archive, it populates a tmpfs instance mounted at / with the contents of that archive. From that point forward:
- Every file you create is written to RAM via the tmpfs layer.
- Every file you read is served from RAM via the tmpfs layer.
- Filesystem metadata (directory entries, inodes, permissions) is also held in RAM.
- Renaming, deleting, or modifying files never touches any storage device.
tmpfs is incapable of persisting data across a power cycle by design.
No swap policy
AmnesiaOS does not configure a swap partition or a swap file, and this is a deliberate security decision. Swap is a mechanism that lets the kernel move pages of RAM to a block device (typically a disk partition) when physical memory is under pressure. While useful for maximising RAM utilisation on conventional systems, it would be catastrophic for AmnesiaOS:- Swapped-out pages would be written to a disk, creating a recoverable forensic artifact.
- Even after a clean shutdown, a swap partition can retain readable memory contents.
- Disabling swap ensures that all memory pressure is handled exclusively in RAM, and that no data ever reaches a persistent storage device under any circumstances.
Future: SquashFS pivot_root
Planned for v1.0.0, this enhancement replaces the minimal BusyBox-only environment with a full LFS userland while preserving the zero-disk-dependency property:- A compressed SquashFS image containing the full userland is stored on the USB boot medium alongside the kernel and initramfs.
- At boot, the early init environment copies the entire SquashFS image into a RAM-backed
tmpfs. pivot_rootswitches the root filesystem from the initramfs tmpfs to the new in-RAM tmpfs containing the SquashFS image.- The USB drive is unmounted — the boot medium is no longer needed or referenced.
- The system continues to run with a rich userland and zero disk dependency, maintaining the same zero-trace guarantee as the current version.