Androidには、起動中のアプリやサービスが増え過ぎてメモリを圧迫する状態になった場合、「lowmemorykiller daemon(lmkd)」というデーモンが起動し、優先度の低いアプリ/サービスを強制的に終了し、メモリ領域を確保する仕組みがユーザスペースに実装されている。
このlkmdに似た仕組みをLinuxデスクトップのユーザスペースでも実現するべく、Red Hatでデスクトップ開発を担当するBastein Noceraは8月21日、私的なプロジェクト「Low-Memory-Monitor」を立ち上げた。
- low-memory-monitor: new project announcement : /bɑs ˈtjɛ̃ no ˈse ʁɑ/ (hadess) | News
- low-memory-monitor -GitLab
Low-Memory-Monitorは名前が示すとおり、デーモンが物理メモリ容量をモニタリングし、メモリが枯渇しそうになると、メモリ使用量が多いアプリケーションにシグナルを送信、アプリケーションの自発的な終了を促し、メモリを解放するというもの。Linuxカーネルにはもともとメモリ枯渇時に強制的にプロセスを終了させる「OOM(Out-of-Memory) Killer」が実装されているが、Low-Memory-MonitorはOOM Killerがアクティベートされる前にユーザスペース内で事前にシグナルを送信することで、強制終了を回避することも可能だ。
Noceraは今後、Fedoraの他のデスクトッププロジェクト(ディスクベースのSWAPの代わりにZRAMを使う取り組みなど)とも協調しながらLow-Memory-Monitorの改善を図り、レスポンシブなデスクトップLinuxの実現を目指していくとしている。