svc · mach trap -11
_kernelrpc_mach_vm_purgable_control_trap
Point d'entrée trap qui implémente mach_vm_purgable_control — gère l'état purgeable (volatile) d'une région VM.
Prototype
kern_return_t _kernelrpc_mach_vm_purgable_control_trap(/* 4 args */);Retour: kern_return_t
Historique des versions
| XNU tag | macOS | # |
|---|---|---|
| xnu-3789.1.32 | macOS 10.12 Sierra | -11 |
| xnu-4570.1.46 | macOS 10.13 High Sierra | -11 |
| xnu-4903.221.2 | macOS 10.14 Mojave | -11 |
| xnu-6153.11.26 | macOS 10.15 Catalina | -11 |
| xnu-7195.50.7.100.1 | macOS 11.0 Big Sur | -11 |
| xnu-8019.41.5 | macOS 12.0 Monterey | -11 |
| xnu-8792.41.9 | macOS 13.0 Ventura | -11 |
| xnu-10002.1.13 | macOS 14.0 Sonoma | -11 |
| xnu-11215.1.10 | macOS 15.0 Sequoia | -11 |
| xnu-11417.101.15 | macOS 15.4 Sequoia | -11 |
| xnu-12377.1.9 | macOS 26.0 Tahoe | -11 |
| xnu-10002.41.9 | — | -11 |
| xnu-10002.61.3 | — | -11 |
| xnu-10002.81.5 | — | -11 |
| xnu-10063.101.15 | — | -11 |
| xnu-10063.121.3 | — | -11 |
| xnu-10063.141.1 | — | -11 |
| xnu-11215.41.3 | — | -11 |
| xnu-11215.61.5 | — | -11 |
| xnu-11215.81.4 | — | -11 |
| xnu-11417.121.6 | — | -11 |
| xnu-11417.140.69 | — | -11 |
| xnu-12377.101.15 | — | -11 |
| xnu-12377.41.6 | — | -11 |
| xnu-12377.61.12 | — | -11 |
| xnu-12377.81.4 | — | -11 |
| xnu-3789.21.4 | — | -11 |
| xnu-3789.31.2 | — | -11 |
| xnu-3789.41.3 | — | -11 |
| xnu-3789.51.2 | — | -11 |
| xnu-3789.60.24 | — | -11 |
| xnu-3789.70.16 | — | -11 |
| xnu-4570.20.62 | — | -11 |
| xnu-4570.31.3 | — | -11 |
| xnu-4570.41.2 | — | -11 |
| xnu-4570.51.1 | — | -11 |
| xnu-4570.61.1 | — | -11 |
| xnu-4570.71.2 | — | -11 |
| xnu-4903.231.4 | — | -11 |
| xnu-4903.241.1 | — | -11 |
| xnu-4903.270.47 | — | -11 |
| xnu-6153.101.6 | — | -11 |
| xnu-6153.121.1 | — | -11 |
| xnu-6153.141.1 | — | -11 |
| xnu-6153.41.3 | — | -11 |
| xnu-6153.61.1 | — | -11 |
| xnu-6153.81.5 | — | -11 |
| xnu-7195.101.1 | — | -11 |
| xnu-7195.121.3 | — | -11 |
| xnu-7195.141.2 | — | -11 |
| xnu-7195.60.75 | — | -11 |
| xnu-7195.81.3 | — | -11 |
| xnu-8019.61.5 | — | -11 |
| xnu-8019.80.24 | — | -11 |
| xnu-8020.101.4 | — | -11 |
| xnu-8020.121.3 | — | -11 |
| xnu-8020.140.41 | — | -11 |
| xnu-8792.61.2 | — | -11 |
| xnu-8792.81.2 | — | -11 |
| xnu-8796.101.5 | — | -11 |
| xnu-8796.121.2 | — | -11 |
| xnu-8796.141.3 | — | -11 |
Notes
La mémoire purgeable est l'équivalent macOS/iOS du MADV_FREE de Linux avec politique : des pages peuvent être marquées VOLATILE pour que le noyau les récupère sous pression sans passer par le swap, et le propriétaire peut plus tard les remarquer NONVOLATILE pour les réclamer (avec un échec possible si elles ont déjà été purgées). CoreGraphics, ImageIO et CoreAnimation en sont gros consommateurs — les backing stores des tuiles, images décodées et tampons offscreen sont conservés purgeables pour soulager la pression mémoire pendant le multitâche. L'argument control vaut VM_PURGABLE_GET_STATE, SET_STATE ou PURGE_ALL.
Détection
Sonde DTrace mach_trap uniquement. Rarement intéressant du point de vue sécurité ; surtout utilisé pour l'analyse de pression mémoire avec les templates Allocations / VM Tracker d'Instruments.