現象の説明
VNCを使用してCVMにログインすると、システムに正常にアクセスできず、「Cannot allocate memory」というエラー情報が表示されます。下図のとおりです。
考えられる原因
システム内に複数のラージページメモリが存在することが原因と考えられます。ラージページメモリはデフォルトで2048KBを占有し、/etc/sysctl.confのラージページメモリの数に基づいて計算されます。以下の図は例で、1280ラージページメモリは2.5Gに相当します。インスタンスの構成は低めでも、2.5Gがまだラージページメモリプール(Huge Pages pool)に割り当てられている場合、システムには使用可能なメモリがなくなり、再起動後にシステムに入れなくなります。
解決方法
1. 処理手順 を参照して、プロセス総数が限度を超えていないかどうか確認してください。 2. ラージページのメモリ構成を確認し、適切な構成に変更します。
処理手順
3. 以下のコマンドを実行して、考えられる原因 を参照し、ラージページのメモリ構成を確認します。 cat /etc/sysctl.conf | grep hugepages
ラージページメモリが複数ある場合は、以下の手順に従って構成を変更してください。
4. 以下のコマンドを実行して、VIMエディタを使用し/etc/sysctl.conf構成ファイルを開きます。
5. iを押して編集モードに入り、インスタンスの実際の設定を加味してvm.nr_hugepagesの設定項目を適切な値まで減らします。
6. Escを押して:wqと入力し、次にEnter**を押してVIMエディタを保存して終了します。
7. 以下のコマンドを実行して、直ちに設定を有効にします。
8. 構成の完了後、CVMを再起動すればログインを再開できます。