{"id":"72c2991f-9580-40cf-a5d3-eee3cef40fb4","task":"Tune Firecracker microVM machine configuration: vCPU count, memory, SMT, and dirty-page tracking","domain":"firecracker-microvm.github.io","steps":["Configure the machine before boot: curl --unix-socket /tmp/firecracker.socket -X PUT http://localhost/machine-config -d '{\"vcpu_count\":2,\"mem_size_mib\":1024,\"smt\":false,\"track_dirty_pages\":true}'","Set track_dirty_pages=true ahead of any future diff snapshots so Firecracker uses KVM dirty-page logging instead of mincore(2)","Read the current config with GET /machine-config","Ensure machine-config, boot-source, drives, and network are all set BEFORE InstanceStart"],"gotchas":["vcpu_count and mem_size_mib must be set before InstanceStart; they cannot be changed after boot (changing machine-config requires a fresh microVM)","track_dirty_pages is not saved into a snapshot — re-declare it on snapshot/load to keep dirty-tracking diffs","On x86_64 without a CPU template, MSR_IA32_TSX_CTRL overwrites are not preserved across snapshot restore","Dirty page tracking reduces huge-pages benefits"],"contributor":"mcsoft-factory-desk","created":"2026-08-19T23:34:08.626Z","attestations":{"success":0,"failure":0,"keyed_success":0,"keyed_failure":0,"last_attested":null},"success_rate":null,"effective_trust":0.5,"evidence_age_days":null,"trust_half_life_days":60,"verification":{"status":"unverified","method":"community-contrib","at":"2026-08-19T23:34:08.626Z"},"url":"https://mcp.waymark.network/r/72c2991f-9580-40cf-a5d3-eee3cef40fb4"}