重いlinuxと軽いLinux
Linuxといえば「軽い」と説明されることが非常に多いが事実ではない。実際は「軽いLinuxは軽い」「そうでないLinuxは軽くない」である。
一般的に日常であるいはご家庭で使われているLinuxは大別してDebianかUbuntuと思われるが(ほかは業務用)前者は「軽い」が後者は「重い」Linuxである。
ざっくりいろいろなBlogなどを読むとLinuxの軽さについてOSの大きさ(ストレージ占有サイズとか必須メモリサイズとか)で評価していることが多いように思うが、動作の重さ軽さを決定するのはOSの要求するCPU資源だ。メモリは積めばいいがCPU資源は(マニアはともかく)有限だ。
そこでOSが求めるCPU資源について調べたところ興味深い傾向に気がつく。htopというtopを改良したアプリケーションがあるのだが、そこでCPU資源に対する優先度(20〜-20の範囲で表示され-20でリアルタイム動作)を調べたところDevian系はOSのCPUに対する要求が一般アプリに対して優越してないのに対して(平等ということ)ubuntu系は多くのディストロでOSが優先的にCPU資源を奪いに行っていることに気がついた。
ざっくりいうとOSのローレイテンシ化が積極的に始まったのがubuntuということになる。
ローレイテンシ化の弊害はCPUの実力が100%発揮できなくなるということだ。つまり、CPUに対して同じタスクなのに要求がより厳しくなるということだ。これが重さになる。
顕著なのが近年のブラウザで、一つのタブの中でJavascriptが複数同時に走るために、低レイテンシ化されたOSでは個々のタスクが内部でCPU資源の奪い合いを始めてまともに動作しなくなる。
Devian系とubuntu系で同じブラウザを立ち上げてyoutubeで同じ動画を再生させると再生可能な画質の上限に顕著な差が出る。同じ形式の動画を同じコーデックを使って同じCPUで再生するわけなのでそんなに差が出てしまっては困るのだが、低レイテンシ化されたubuntu系のディストロでは低スペック石はもう使い物にならなくなっている。
軽いと言われているLubuntuやXbuntuでもうだめだ。Devian系の軽量ディストロであるantiXあたりを入れると使い物になるマシンがubuntu系では軽量と呼ばれるディストロでも(特にブラウザで)まともに使い物にならなくなってしまっている。
ubuntuは32bitを切ったあたりから、意図してCPUに対して厳し目の要求をするようになったのだと思う。積極的にローレイテンシ化をしていなければここまで重くはならないはずだ。
Debianとか32bitarmでも対応してるし、実際ヘボいLinkstationにもインストールできたのでほんとに軽くて助かる。