[go: up one dir, main page]
More Web Proxy on the site http://driver.im/

タグ

memoryに関するamari3のブックマーク (11)

  • Transparent HugePagesを無効化する - 人生は、お天気いろいろ

    Oracle Database 11g R2では、透過的なHugePagesを無効化する必要があるらしい。 ※ 12cのインストレーションガイドでは、そのような記述を見つけられなかったので、要調査 無効化するための手順をメモ。 そもそもTransparent HugePageとは? メモリとは、pagesとよばれるブロックで管理されており、1pageは4096byteである。そのため、メモリ1MBは256pagesに該当する。 この各pageは、PTE(Page Table Entry)を参照し、仮想アドレスと物理アドレスのマッピング情報を格納しているのだが、最近の大容量メモリの利用により、このマッピング情報が肥大化し、メモリが枯渇することがあるらしい。 ※ 詳細は以下が詳しい。 大容量メモリに潜むメモリ枯渇問題その1 ~Linux HugePageの薦め~ | 技術ブログ| レック・テク

    Transparent HugePagesを無効化する - 人生は、お天気いろいろ
  • どうしてメモリはスワップするのか!?

    こんにちは。斎藤です。 最近、新しいスキー板が欲しいなと思っています。現在使っているOGASAKAの板は5年目に入り、メーカーからこれ以上はチューンナップ(メンテナンス)はできないよ、と言われてしまいました。もし、次に買うなら、スノーボーダーの人と一緒にパウダーに飛び込みやすいセミファットタイプが良いのかなと考えています。皆さんのオススメ、ぜひ教えてください。 さて、今日はLinux Kernel上でのメモリ管理、特にページ回収(Page Reclaim)とスワップに絞り、「スワップの理由」「ページを回収する仕組み」そして「スワップの様子を観察する」の3点に分けてお話しします。「スワップするのが気持ち悪い」と考えている方は少なくないと思いますし、私もそう考えていた時期がありました。しかし、それは当に悪い事なのか、今回掘り下げて行きます。 ※主な対象Kernelは2.6.32(Red Ha

    どうしてメモリはスワップするのか!?
  • 一時ファイルとdentry cacheとメモリ - blog.nomadscafe.jp

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

  • “第3のメモリー”の衝撃、ストレージとDBが一変する

    出典:日経コンピュータ 2012年12月20日号 pp.70-77 (記事は執筆時の情報に基づいており、現在では異なる場合があります) 2012年、DRAMでもフラッシュメモリーでもない“第3のメモリー”の量産出荷が始まった。DRAM並みに高速でありながら、フラッシュ同様に電源をオフにしてもデータが消えない「新世代不揮発性メモリー」だ。新メモリーによってコンピュータのアーキテクチャーは激変し、入出力(I/O)の大幅な高速化が実現すると共に、消費電力は激減する。 コンピュータには、高速だが電源をオフにするとデータが消える「主記憶装置(メインメモリー)」と、低速だがデータが消えない「外部記憶装置(ストレージ)」という2種類の記憶装置がある。 こんなコンピュータアーキテクチャーの常識が一変する可能性が出てきた。DRAM並みに高速でありながら不揮発性を備えた「新世代不揮発性メモリー」の量産出荷が始

  • 第5回 Linuxのメモリ管理最新事情─MM Summit 2013から | gihyo.jp

    Linuxを取り巻く環境の変化に併せて、LinuxCon JapanはCloudOpen Japanとの併催となり、話題も多彩になってきました。IBMや富士通等のベンダが注力するエンタープライズ系の話題、ARMをはじめとする組込み分野の話題、KVMやOpenStack等を中心とする仮想化とクラウドの話題などさまざまなセッションが行われます。今年はLinus Torvaldsも来日してIntelのチーフエンジニアDirk Hohndelさんと対談するので注目が集まりそうですね。 個人的には29日の「Integrating Atomic IO into Filesystems Transactions Improve Linux swap for High Speed Flash Storage」30日のOpen vSwitchGoogleのケーススタディ、31日のVFS Host Data

    第5回 Linuxのメモリ管理最新事情─MM Summit 2013から | gihyo.jp
  • メモリリークとは何か - kuenishi's blog

    メモリリークに悩まされている技術者は多いだろう。メモリリークが嫌でGCという技術が開発されたといっても過言ではないし、歴史的にはC++からJavaへシフトが起きた大きな理由のひとつといっていい。Unix系の簡単な定義でいえば、ヒープ領域を指すポインタ(アドレス)をロストしてしまえばそのメモリはもう漏れたといってよい。たとえばこういったコードだ。 struct { int i; char c; } spam; int main(){ void* p; int i; for(i=0; i<1024; ++i){ p = malloc(sizeof(struct spam)); } pause(); } このコードではpause(3)の時点で約5KBのメモリが漏れている。free(3)を使えばメモリをOSに返却できるが、アドレスが分からないので返却できない。 ところが、ここでいいたいのは、メモリ

    メモリリークとは何か - kuenishi's blog
  • ファイルがページキャッシュに乗っているかどうかを調べる - ablog

    Linux上で任意のファイルがページキャッシュに乗っているかどうか調べるCで書かれたプログラムを見つけたので、コンパイルして実行してみた。 Linux上のとあるファイルがページキャッシュに乗っているかどうかを調べたいなーと思ってGoogle先生にご相談したところ、こんなコマンドを教えてくれた。 ファイルをメモリにマップして、mincore(2)でページごとにRAMに存在するかどうかをチェックしているらしい。 mmapしても即メモリにロードされるわけではないのかぁ。 Cの部分だけ抜き出して、単体で動かしてみた。 #include <errno.h> /* errno */ #include <fcntl.h> /* fcntl, open */ #include <stdio.h> /* perror, fprintf, stderr, printf */ #include <stdlib.

    ファイルがページキャッシュに乗っているかどうかを調べる - ablog
  • Linuxのメモリ上のキャッシュを解放する - 元RX-7乗りの適当な日々

    いつも思いだすのに時間がかかるというか、ググるのでメモ。 例えば、ベンチマークとかをとっていて、残ったキャッシュを奇麗さっぱりに消したい時とかに使う。 Linuxのメモリで保持しているキャッシュをクリアするには、以下を実行する。 # sync # echo 3 > /proc/sys/vm/drop_caches 値の意味としては、、、 1: ページキャッシュを解放 2: dentry、inode を解放 3: ページキャッシュ、dentry、inode を解放 以下を参考に。 /proc/sys/vm/drop_caches (Linux 2.6.16 以降) このファイルに書き込みを行うことで、クリーンなキャッシュ、dentry、 inode をメモリ上から外し、そのメモリを解放する。 ページキャッシュを解放するには、 echo 1 > /proc/sys/vm/drop_caches

    Linuxのメモリ上のキャッシュを解放する - 元RX-7乗りの適当な日々
  • メモリ使用量の確認

    サーバのメモリが思った以上に消費していたのでサックリ調べてたのですが 各プロセスのメモリ使用状況の調べ方としては ps aux --sort=-rss | head -40とやるとRSSのサイズでソートしてくれるのでheadとかでみてやればメモリ使用量が多い順に参照可能。 ただたんにps auxしただけだと見るのがしんどい。 topでもshift+Mで同じ感じでみれるのでそれでも良い。 (cを入力してプロセスの詳細を表示するとなおよい) あとはCoWに乗ってるかを調べたが、 http://d.hatena.ne.jp/naoya/20080212/1202830671 naoyaさんが紹介されている方法そのまんまでよいでしょう。 sudoして実行すること。 Cowはアプリの質にもよるが基的にはライブラリが共有メモリに乗ってればいいから アプリの質をみつつsharedなパーセントを調整出

  • 共有メモリ関連

    用語 IPCリソース IPCにて利用される、共有メモリ、セマフォ、メッセージキューのこと コマンド ipcs IPCリソースの状態確認 ipcrm IPCリソースを解放 オプションは、ヘルプおよびmanを参照。 でも、共有メモリとセマフォの関係とかをちゃんと理解していないとipcrmは恐ろしいっぽい。この前、安易にipcrmで共有メモリ&セマフォを解放してみたら、HTML::Templateをshared_cacheで使ってたのが、共有メモリをopenできないうんたらかんたらとかいわれて、延々dieする始末。結局リブート。こわ~。 IPCの詳しい解説がほしい…。いづこ…。

  • やはり Perl はメモリ喰いな言語。データ型の内部構造

    use Devel::Size::Report qw/report_size/; # 1bit, 1byte, 2byte, 3byte, 4byte(=32bit), 5byte my $b = [ 0, 0xFF, 0xFFFF, 0xFFFFFF, 0xFFFFFFFF, 0xFFFFFFFFFF ]; print report_size($b, { indent => " " }); # null, length=1, 2, 3, 4, 5 my $c = [ '', '1', '10', '100', '1000', '10000' ]; print report_size($c, { indent => " " }); Size report v0.10 for 'ARRAY(0x8c8bc28)': Array ref 192 bytes (overhead: 92 byte

  • 1