大規模システムでの Linux のメモリ管理

(This post is also available in English.)

この記事は Linux memory management at scale著者の Chris Down さんの許可 を得て Hiroaki Nakamura が日本語に翻訳したものです。 原文のライセンスCC BY-SA 4.0 であり、翻訳のライセンスも同じく CC BY 4.0 とします。


cgroup2 プロジェクトでの私の仕事の一部として Linux システムのリソース管理についてエンジニアと話すことに多くの時間をかけてきました。 これらの会話を通じてどんどん明らかになってきた 1 つの事実は多くのエンジニアは、シニア SRE たちでさえも、 Linux のメモリ管理についていくつかのよくある誤解を持っていて、そしてそれが彼らがサポートするサービスやシステムが本来確実に稼働したり効率的に稼働したりできていたはずのところをそうできていない原因になっているということです。

ですので、これらの誤解の一部に踏み込む講演を行いました。 そこではメモリのこととなると一見そう見えるよりも事態がなぜ微妙なニュアンスを持つのかに踏み込んでいます。 さらに私はこの新しい知識を使ってより信頼性が高くスケーラブルなシステムをどうやって構成するかについても調べ、 Facebook でどのようにシステムを管理しているか、そしてあなた自身のシステムを改善するためにこの知識をどう応用することができるかについても話しています。

私は光栄にも SREcon でこの講演をしました。 これが役に立つことを願っています。 質問やコメントがあればご自由に私に e-mail を送ってください。

鍵となるタイムスタンプ

各セクションがその次のセクションを構成するのに役立ちますので講演全体を見ることをお勧めしますが、いくつかのキーポイントとなる箇所を以下に示します。