巨大ページは、サイズが従来のページサイズである4 KBよりも大きいメモリページである。 膨大なページは、メモリアクセスを高速化し、アドレス変換中のTranslation Lookaside Buffer (TLB) ミスの数を減らすのに役立ちます。 ほとんどの場合、巨大なページのサイズは2 MBです。 膨大な数のページが割り当てられると、オペレーティングシステムがアプリケーションまたはサービスに動的に割り当てることができる通常のメモリの量が減少します。 その結果、膨大なページを使用しないアプリケーションまたはシステムサービスが、メモリ不足のためにスタックしたり、実行に失敗したりする可能性があります。 ECS (Elastic Compute Service) インスタンス上の膨大なページのサイズが大きすぎる場合、インスタンスに接続できない可能性があります。 このトピックでは、Linux ECSインスタンスの膨大なページサイズを調整する方法について説明します。
手順
Virtual Network Computing (VNC) を使用してLinux ECSインスタンスに接続します。
詳細については、「VNCを使用したインスタンスへの接続」をご参照ください。
次のコマンドを実行して、
/etc/sysctl.confファイルをバックアップします。cp /etc/sysctl.conf /etc/sysctl.conf_bak次のコマンドを実行して、
/etc/sysctl.confファイルを開きます。sudo vim /etc/sysctl.confvm.nr_hugepagesパラメーターを見つけて、パラメーターの値を減らします。アプリケーションが必要とする膨大なページのサイズとシステムの総メモリサイズに基づいて、次の式を使用して必要な膨大なページ数を計算します。
必要な巨大ページ数=アプリケーションが必要とする巨大ページのサイズ /巨大ページのサイズ。 ほとんどの場合、Linuxの巨大なページのデフォルトサイズは2 MBです。 たとえば、アプリケーションが16 GBの巨大ページを必要とし、巨大ページのサイズが2 MBである場合、アプリケーションは8,192の巨大ページを必要とします。これは、16 GB/2 MB = 8,192の式を使用して計算されます。 上記の例では、vm.nr_hugepagesパラメーターを次の値に変更します。
vm.nr_hugepages = 8,192次のコマンドを実行して、変更を有効にします。
sudo sysctl -p/proc/meminfoファイルを表示して、変更が有効かどうかを確認します。cat /proc/meminfo
関連ドキュメント
Alibaba Cloud Linuxは、透過的な巨大ページ (THP) と巨大ページを使用してシステムパフォーマンスを向上させることができます。 詳細については、「Alibaba Cloud LinuxでのTHP関連のパフォーマンス最適化」および「巨大ページ」をご参照ください。