タグ

memoryに関するdiary193のブックマーク (7)

  • いまさら聞けないLinuxとメモリの基礎&vmstatの詳しい使い方 - Qiita

    さくらインターネット Advent Calendar最終日は、硬派にLinuxのメモリに関する基礎知識についてみてみたいと思います。 最近はサーバーを意識せずプログラミングできるようになり、メモリの空き容量について意識することも少なくなりましたが、いざ低レイヤーに触れなければいけないシチュエーションになった際に、OSを目の前に呆然とする人が多いようです。 基的にLinux のパフォーマンスについて、メモリをたくさんつめばいいとか、スワップさせないほうが良い とか、このあたりは良く知られたことだと思います。 ただ、なんとなく ps コマンドや free コマンド などの結果を見るだけでなく、もう少しメモリのことについて掘り下げてみてみたいと思います。 メモリとキャッシュ Linux におけるメモリの状態を大きく分けると「使用中のメモリ」「キャッシュ」「空きメモリ」「スワップ」の 4 つに分

    いまさら聞けないLinuxとメモリの基礎&vmstatの詳しい使い方 - Qiita
  • OOM Killerにであったら何をするべきか?

    OOM killerで大事なプロセスが殺される。困りますね。。 google で OOM Killerと入力すると 「無効」とか補完されます。しかしどうするのが良いのか、あまりよく説明されている記事がみあたらなかったので自分の考えをメモしておきます。 OOM Killer の目的は何か? まずは何故OOM Killerが発生しているのかについて、ざっくりイメージをつかみましょう。linux kernelはプロセスからの「メモリくれ」という要求に対してたぶん足りそうだという場合に「OK」といって渡します。実際のメモリ割り当てはアクセスが発生するタイミングまで遅延させます。これを遅延アロケーションといい、だいたいにおいてうまく動きます。ただし必ずうまくいくと保証されているわけではないので破綻することがあります。 OOM Killerはこの遅延アロケーションが破綻しそうなときに、適当にプロセスを

  • 一時ファイルとdentry cacheとメモリ - blog.nomadscafe.jp

    わりと長い間悩んでいたんだけど、最近解決したのでメモ。 サービスで利用しているsmalllightの画像変換サーバが、Apacheが使っているメモリ以上のメモリを使用し、Swapしたりメモリ枯渇でサーバがダウンするなどのことが何度かありました。 ↑メモリの動きはこんな感じ いろいろ調べた結果「dentry cache」なるものがメモリ多くを占めていることがわかりました。dentry cacheはディレクトリやファイル名とinodeとを結びつけに使われるキャッシュです。smalllightでは画像を変換する際に一時ファイルを作成するので、その情報が残るようです。 手元で再現させる 番で使っているサーバはCentOS5系ですが、手元のVagrant上のCentOS6(ファイルシステムはext4)で、再現させてみました。 use Parallel::Prefork; use File::Tem

  • 【コラム】OS X ハッキング! (295) メモリ激安の今、敢えて仮想メモリに思いを馳せる | パソコン | マイコミジャーナル

    いよいよ出ますよ、新しいMacが。こちらの記事にあるとおり、おそらくは新MacBook or 新MacBook Proかと。マシンを入手次第レビューさせていただく予定なので、乞う御期待。 さて、今回は「仮想メモリ」について。旧Mac OSの時代はいざ知らず、仮想メモリが常時オンのOS Xに設定のコツはないが、できるだけ「スワップ」を発生させないというノウハウは存在する。アクティビティモニタやvm_statコマンドを使い、その辺りの事情を説明してみよう。 なぜ「仮想メモリ」を意識するのか 結論からいうと、仮想メモリは使わないほうがいい。物理メモリが不足するとき、磁気ディスク (一般的にはHDD) に確保した領域をデータの一時保存に使うという機構ゆえに、搭載した物理メモリ容量をオーバーしない範囲で使用するに越したことはないからだ。 しかし、現実では仮想メモリに頼らざるをえない。グラフィックソフ

    diary193
    diary193 2008/10/17
    Inactive解放
  • スラッシュドット・ジャパン | swap割り当てルール、やっぱりRAMの2倍?

    ストーリー by hayakawa 2008年10月04日 8時19分 個人的にはスワップなしで構築することが多くなってきましたが 部門より 過去10年、自分より知識のある人たちに「swapにはどれだけ割り当てればいい?」と聞くと、皆同様に「RAMの2倍に設定しておいて、あとは考えなくていいよ」と答えてくれた。確かに昔は深く考えるようなことでもなかったように思う。RAMが128MBならswapは256MBにしておけばよかった。でもいま自分のノートPCに載っている4GBのRAMを考えると、8GBのswapって当に必要?と考えてしまう。 デスクトップのswapには当はどれ位割り当てるのがいいのだろうか?「RAMの2倍」ルールは今も当てはまるだろうか?このルール、これからもずっと有効なのだろうか? SWAPに8GB割り当てるのに全く問題がないHD容量があればいいが、例えばUMPCのようにメモ

  • Valgrind Home

    Information About News Tool Suite Supported Platforms The Developers Source Code Current Releases Release Archive Variants / Patches Code Repository Valkyrie / GUIs Documentation Table of Contents Quick Start FAQ User Manual Download Manual Research Papers Books Contact Mailing Lists and IRC Bug Reports Feature Requests Contact Summary Commercial Support How to Help Contributing Project Suggestion

  • 必要最小ワーキングセット - NyaRuRuが地球にいたころ

    あるプロセスの物理メモリ最大使用量を測定するというお話.『Cozy Ozy』より. GetProcessMemoryInfoというAPIはどうかと思い、このようなコードを書いてみた。 最大の問題は,消費メモリ量をどう定義するか,ということかもしれません. 例えば 16*1024*1024 個の整数配列をソートすることを考えてみましょう.この作業,一見 64 MB 近い物理メモリが必要な気がしますが,実際にはデータを 64 MB のファイルに書き出して,それをちまちま読み書きしながらソートすればもっと少ないメモリで完走できそうです. Windows 環境に限定して考えると,これは別にファイル I/O API を使う必要すらありません.64 MB のファイルをメモリ空間にマップして,必要な箇所だけ物理メモリを割り当てていけば,元のソートアルゴリズムをあまり変更せずに済みそうです. さらに言えば

    必要最小ワーキングセット - NyaRuRuが地球にいたころ
  • 1