アカウント名:
パスワード:
個人ユースのPCで,趣味で分子軌道計算とかやってますが,メモリ256GBとかあっても足りない時はありますね.
それはそうと,実メモリが増えてくると,Swap領域確保とかに問題が生じてきますよね...メモリ容量*2確保しなさい,とは言わなくとも,最近だとどれ位とっておくのがいいのかしら?//swapに512GBとかちょっとシンドイ
商用サーバーなどでは大容量メモリ搭載時におけるスワップ領域をどのくらい取るべきかの話が10年くらい前からはじまってますが用途次第の部分があるのではっきりした指標はないですね
RHELだと
メモリ2GBまでは、メモリ搭載量の2倍(メモリ2GBに対しては、スワップ4GB)そこから増えた分は、増えた分のメモリ量と同じだけスワップを追加(=メモリ搭載量+2GBのスワップということになる)32GBよりもメモリ搭載量が多い場合、メモリ同容量よりも下回っても問題なく動く場合が多い
くらいの書き方で、用途や採用するソフトウェア群の挙動を勘案してインフラ設計のときに決めるケースが多いと思います
性能優先でオンメモリ動作をなるべく維持するために大量メモリを搭載+SSDの構成などでは、(ピークメモリ負荷でも溢れないことは事前確認したうえで)上記よりも少ないスワップにする場合もあります
swap領域が何に使われるのかを考えればいいのでは。
メモリ不足に対応するなら、システムがクラッシュして止まらない程度にあればいい。スラッシングが発生すれば処理がほぼ停止してしまうので、スワップを際限なく食いつぶす事はない(出来ない)。
メモリマップドファイルのような使い方をするならそれに応じて大量に。
「実メモリと同等かそれ以上」というのはクラッシュ時にフルダンプを出力する事を想定した設定じゃないでしょうか。イマドキの数十GBのメモリのフルダンプを残しても解析のコストが大きいので、通常であればクラッシュ時のフルダンプは残さない事が多いのではないかな、と思います。FreeBSDは既定で dumpdev = off だったような...。
なので、ディスク性能が高ければそれなりに、低ければ、例えば SATA SSD なら 4GBとかページアウトしたら、現実的な時間軸で動いていない状態なんじゃないかなーと思います。
いかがでしょう。
サーバーなら貴コメントの通りでいいのでしょうが、ワークステーションの場合は「現在ユーザーが積極的に使ってないアプリをディスクに追いやって、前面のアプリに潤沢にメモリを供給する」という用途もあると思うのです。
以前のWindows Vistaや7あたりだとスワップアウトのアルゴリズムがアグレッシブすぎて、アプリ切り替え時にディスクが回りまくってストレスがたまることがしょっちゅうでした。その点、Linuxはもっと粘り強くスワップを使わず我慢してくれる感じがありました。あくまで体感ですけど。
今も16GBのMac miniでPhotoshop、Lightroom、Safari、メール、その他を立ち上げっぱなしの状態でParallelsのVMも動かすということをしょっちゅうやってますが、ページアウトなんて日常茶飯事ですよ。でも体感パフォーマンスはほとんど問題なし。
Windows XPまでは、ウィンドウの最小化でワーキングメモリをスワップアウトさせていたそうです。http://d.hatena.ne.jp/odz/20060804/1154669206 [hatena.ne.jp]
アルゴリズムが見直されたのはVistaからのはず。もちろん、その後もいろいろ変わっているのでしょうが。
SSDの普及した今となって、むしろXPくらいに積極的にスワップアウトしたほうがよいかもしれない。
より多くのコメントがこの議論にあるかもしれませんが、JavaScriptが有効ではない環境を使用している場合、クラシックなコメントシステム(D1)に設定を変更する必要があります。
海軍に入るくらいなら海賊になった方がいい -- Steven Paul Jobs
128GBでも足りない (スコア:2, 興味深い)
個人ユースのPCで,趣味で分子軌道計算とかやってますが,メモリ256GBとかあっても足りない時はありますね.
それはそうと,実メモリが増えてくると,Swap領域確保とかに問題が生じてきますよね...
メモリ容量*2確保しなさい,とは言わなくとも,最近だとどれ位とっておくのがいいのかしら?
//swapに512GBとかちょっとシンドイ
Re: (スコア:4, 興味深い)
商用サーバーなどでは大容量メモリ搭載時におけるスワップ領域をどのくらい取るべきかの話が10年くらい前からはじまってますが
用途次第の部分があるのではっきりした指標はないですね
RHELだと
メモリ2GBまでは、メモリ搭載量の2倍(メモリ2GBに対しては、スワップ4GB)
そこから増えた分は、増えた分のメモリ量と同じだけスワップを追加(=メモリ搭載量+2GBのスワップということになる)
32GBよりもメモリ搭載量が多い場合、メモリ同容量よりも下回っても問題なく動く場合が多い
くらいの書き方で、用途や採用するソフトウェア群の挙動を勘案してインフラ設計のときに決めるケースが多いと思います
性能優先でオンメモリ動作をなるべく維持するために大量メモリを搭載+SSDの構成などでは、
(ピークメモリ負荷でも溢れないことは事前確認したうえで)
上記よりも少ないスワップにする場合もあります
Re: (スコア:0)
swap領域が何に使われるのかを考えればいいのでは。
メモリ不足に対応するなら、システムがクラッシュして止まらない程度にあればいい。
スラッシングが発生すれば処理がほぼ停止してしまうので、スワップを際限なく食いつぶす事はない(出来ない)。
メモリマップドファイルのような使い方をするならそれに応じて大量に。
「実メモリと同等かそれ以上」というのはクラッシュ時にフルダンプを出力する事を想定した設定じゃないでしょうか。
イマドキの数十GBのメモリのフルダンプを残しても解析のコストが大きいので、通常であればクラッシュ時のフルダンプは残さない事が多いのではないかな、と思います。FreeBSDは既定で dumpdev = off だったような...。
なので、ディスク性能が高ければそれなりに、低ければ、例えば SATA SSD なら 4GBとかページアウトしたら、現実的な時間軸で動いていない状態なんじゃないかなーと思います。
いかがでしょう。
Re: (スコア:0)
サーバーなら貴コメントの通りでいいのでしょうが、ワークステーションの場合は「現在ユーザーが積極的に使ってないアプリをディスクに追いやって、前面のアプリに潤沢にメモリを供給する」という用途もあると思うのです。
以前のWindows Vistaや7あたりだとスワップアウトのアルゴリズムがアグレッシブすぎて、アプリ切り替え時にディスクが回りまくってストレスがたまることがしょっちゅうでした。その点、Linuxはもっと粘り強くスワップを使わず我慢してくれる感じがありました。あくまで体感ですけど。
今も16GBのMac miniでPhotoshop、Lightroom、Safari、メール、その他を立ち上げっぱなしの状態でParallelsのVMも動かすということをしょっちゅうやってますが、ページアウトなんて日常茶飯事ですよ。でも体感パフォーマンスはほとんど問題なし。
Re:128GBでも足りない (スコア:0)
Windows XPまでは、ウィンドウの最小化でワーキングメモリをスワップアウトさせていたそうです。
http://d.hatena.ne.jp/odz/20060804/1154669206 [hatena.ne.jp]
アルゴリズムが見直されたのはVistaからのはず。もちろん、その後もいろいろ変わっているのでしょうが。
SSDの普及した今となって、むしろXPくらいに積極的にスワップアウトしたほうがよいかもしれない。