hadoop Linuxシステムの正しいスワップサイズを知る方法

hadoop Linuxシステムの正しいスワップサイズを知る方法

私たちは多くのhadoopクラスタを使用しています

今スワップサイズ - 16Gを使用します。

   free -g
                  total        used        free      shared  buff/cache   available
   Mem:            125           1         123           0           0         123

   Swap:            15           0          15

しかし、私たち全員が知っているように、スワップは実際に非常に遅いディスクメモリを使用します。

飼育サーバーなどの一部のhadoopコンポーネントでは、スワップを無効にする必要があります。

しかし、私はhadoopマシンでスワップを最小限に抑える必要があると思います。

4Gにダウングレードする必要があると思います。

しかし、私はより多くの意見が欲しい

答え1

を使用すると、スワップの使用を最小限に抑えることができますswappiness。次のコマンドを使用して現在の値を取得できます。

cat /proc/sys/vm/swappiness

変更するには、次/etc/sysctl.confの行を編集して追加します。

vm.swappiness = 1

(Clouderaが提案したように)実行

sysctl -p 

(のようにroot

答え2

一般的なアドバイスは次のとおりです。RAMが1 GBを超える場合、スワップサイズは少なくともRAMサイズの平方根に等しく、最大RAMサイズの2倍にする必要があります。

Redhatでも同様のガイドを見つけることができます。

512GB以上のDDR4 RAMを搭載したシステムのみがあり、500GB、300GB、または80GBの小さなディスクにLinuxをインストールした場合はどうなりますか?

スワップの定義(エラーがあれば訂正してください)パーティションですか?ディスク上システムメモリが不足している場合(32個のみ)MBまたは1国家規格)これにより、システムはRAMがいっぱいになったときにスワッピングを利用してアクティブな状態を維持できます。ディスクストレージは通常、RAMよりも常に大きく、経済的で、可用性が高く、使いやすくなるためです。32MBメモリ。

21世紀に入ると、RAMは安くなり、家庭用コンピュータは簡単に16 GB以上のRAMを持つことができます。たとえば、単純なDellサーバー(および他のいくつかのサーバー)は最大3 TBを提供します。 RAMオプション。 RAMは利用可能なディスク容量を簡単に超えることができます。

経験といくつかの事実に基づいて、私の意見は次のとおりです。

  • スワップスペースに関するすべてのガイドラインは、21世紀のコンピューティングハードウェアでは時代遅れです。
  • Android携帯(Linux)にスワップスペースがありますか? 16,32,64GB(フラッシュ?)メモリを搭載したスマートフォンとノートパソコン/PCのコンピューティング性能と性能を考慮しますか?数年前[スワップスペースが分割されました]。
  • さまざまな種類のストレージメディアに複数のLinuxディストリビューションをインストールできます。
  • 誰ですか不要Linuxを実行できるSWAPパーティションがあります。
  • 重要なことは、保持しているRAMの量と利用可能なRAMの量に応じてシステムの制限を知ることです。
  • Swappiness = LinuxカーネルがRAMの内容をスワップ領域にコピーする量と頻度を定義するカーネルパラメータ。オペレーティングシステムがRAMの範囲内で必要なすべてのタスクを実行したいと思います。 RAMが100%に達していない場合、スワップとして定義された項目には何も書き込まれないため、このパラメータはほとんど意味がありません。
  • 256GBのRAMがあり、不足している場合は、現時点では何のスワップも意味がありません。 256 GB RAM を使用する場合、HDD または SSD での 2 GB スワップは意味がありません。窒素ディスクにGBのスワップ領域がある場合は、スペースを無駄にするだけです。窒素GBスワップ、RAMが100%に達すると、システムは依然として窒息し、デフォルトで応答しなくなります(ほぼ常に)。
  • スワップが必要だと思われる場合は、より多くのRAMが必要です。システムに十分な RAM がない場合は、適切な RAM 容量を提供する、より新しく改良されたシステムが必要です。
  • あなたの質問は交換に適したサイズはいくらですか?。 hadoop、Linux、またはWindowsであるかどうかにかかわらず、定義に同意することは関係ありません。交換スワップパーティションは一部の記憶領域であるため、オペレーティングシステムはRAMがいっぱいになっている場合にのみ使用します。
  • また、ディスクキャッシュを探して理解しています...Linuxは私の記憶を食べました。。最高のパフォーマンスを得るには、常にRAMを最大限に使用してください。使用無料Linuxのコマンドとその値を観察するキャッシュ済みまた使用されるそして無料
  • 交換が嫌いです。

答え3

スワップサイズを変更するには、まずスワップを無効にする必要があります。

swapoff (swap partition)

sudo dd if=/dev/zero of=(swap partition) bs=1M count=(newsize in MB) oflag=append conv=notrunc

mkswap (swap partition)

swapon (swap partition)

要点は、常にスワップを使用しないように努力する必要があることです。実際にスワップスペースが多い場合は、より多くのプロセスを処理できますが、スワップの使用を避けることが目標です。スワップを使用すると、システムの全体的なパフォーマンスが低下するためです。

いずれにせよ、これを無効にする必要はありません。緊急事態に備えて、交換のために常にいくつかのディスク容量を確保することをお勧めします。一般的なアドバイスは次のとおりです。

RAMが1 GBを超える場合、スワップサイズは少なくともRAMサイズの平方根に等しく、最大RAMサイズの2倍にする必要があります。

したがって、可能であれば、ハードドライブに十分なスペースがある限り、この規則を適用してみてください。

関連情報