ホームページ >データベース >mysql チュートリアル >Amazon EC2 Micro インスタンス上の MySQL がエラー 12 (メモリ不足) で起動を中止するのはなぜですか?

Amazon EC2 Micro インスタンス上の MySQL がエラー 12 (メモリ不足) で起動を中止するのはなぜですか?

Patricia Arquette
Patricia Arquetteオリジナル
2024-11-26 18:57:09559ブラウズ

Why Does My MySQL on Amazon EC2 Micro Instance Abort Startup with Error 12 (Insufficient Memory)?

Amazon EC2、MySQL がメモリ不足により起動を中止する (エラー番号 12)

Amazon EC2 マイクロ インスタンスで MySQL を実行すると、次のような問題が発生する可能性があります。 「InnoDB: mmap (x bytes) failed; errno 12」というエラーが発生します。このエラーは、システム メモリが不足しているため、MySQL で使用されるストレージ エンジンである InnoDB がバッファ プールに必要なメモリを割り当てることができないことを示します。

この問題を解決するには、次の手順を実行できます。

  1. スワップ スペースの追加: マイクロ インスタンスにはデフォルトで専用のスワップ スペースがありませんが、これは次の方法で克服できます。スワップファイルを作成しています。次のコマンドを実行します:

    • dd if=/dev/zero of=/swapfile bs=1M count=1024
    • mkswap /swapfile
    • swapon /swapfile
  2. バッファ プール サイズの増加: バッファ プールにより多くのメモリを割り当てるには、MySQL 構成ファイル (my.cnf) の innodb_buffer_pool_size パラメータを増やします。値が利用可能なメモリ範囲内であることを確認してください。
  3. RDS サービスを使用する: ミッションクリティカルなアプリケーションの場合は、メモリを処理するマネージド データベース サービスである Amazon Relational Database Service (RDS) の使用を検討してください。割り当てとスケーリングは自動的に行われます。

例構成

次に、バッファー プール サイズとスワップ スペースを増やした my.cnf 構成の例を示します。

[mysqld]
datadir=/var/lib/mysql
socket=/var/lib/mysql/mysql.sock
symbolic-links=0
innodb_buffer_pool_size=1G

[mysqld_safe]
log-error=/var/log/mysqld.log
pid-file=/var/run/mysqld/mysqld.pid

注: innodb_buffer_pool_size の特定の値は、使用する環境に基づいて調整する必要があります。アプリケーションのメモリ要件。利用可能なシステム メモリを超えてはなりません。

以上がAmazon EC2 Micro インスタンス上の MySQL がエラー 12 (メモリ不足) で起動を中止するのはなぜですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。