LINEで送る
Pocket

こんにちわ。Adachinです。

前回、swapという言葉が出ましたが、

ちょっと概論とその調整についてブログします。


■swapとは

実メモリーから使用中の内容の一部を取り出して、
退避するためのハード・ディスク上の領域。

いくらメモリーの容量がたくさんあっても
swap領域はちゃんと設定したほうがいいと思われる。


■swap枯渇の原因

じゃあなんでこんなことになるのか。

1, 物理メモリの空きが不足している

2,物理メモリの空き領域が断片化している

3,ApacheのMaxclientsの値がデカすぎる

2の物理メモリの空き容量が足りても、領域を確保できるまで物理メモリに存在するページを
swapしてしまうという・・・

そこらへんはswapしないように調整しましょう。


■メモリー容量の確認

まだ2しか使っていないことが分かる。

■調整方法

・Swappinessとは
カーネルがswap処理を行う頻度を変更するためのパラメータ(0~100)

低い値を設定するとカーネルは可能な限りswapを行わないようにし、
高い値を設定すると積極的にswap領域を利用しようとする。
既定の値は60となり、大抵のシステムでは100に設定すると全体的なパフォーマンスに悪影響を及ぼす。0を含め低い値に設定すると応答速度が向上(反応までの遅延が減少する)とされる。

値(0 ~ 100)スワップ頻度
vm.swappiness = 0メモリが一杯になるまでスワップを利用しない
vm.swappiness = 60規定値
vm.swappiness = 100全体のパフォーマンスに影響しうるほど積極的にスワップ処理を行う

 ■現在値の確認

or

 ■一時的な変更

or

 ■恒久的な変更

・再読み込み


■まとめ

swapの設定は難しいので
よく勉強しないとわからん。

次回はOOM Killerについてブログします。

LINEで送る
Pocket

カテゴリー: BlogCentOSLinux

adachin

1989年生まれのLancers SRE。 ホスティングから大規模なアドテクなどのインフラエンジニアとして携わり、AnsibleやTerraformでのインフラコード化を推進。副業では数社サーバー保守、未経験によるエンジニアのメンターなども実施している。また、「脆弱性スキャナVuls」のOSS活動もしており、自称エバンジェリスト/技術広報/テクニカルサポート/コントリビュータでもある。現在はサービスの信頼性向上、可用性、レイテンシ、パフォーマンス、モニタリング、緊急対応、インフラコード化、リファクタリング、セキュリティ強化、新技術の検証、Docker開発環境の提供、AWSでのインフラ構築、グループ会社のインフラをECS/Fargateへ移行、CakePHP4での管理画面作成、メンター、分析基盤の運用を担当している。

0件のコメント

コメントを残す

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください