タグ

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

  • Ruby: mallocでマルチスレッドプログラムのメモリが倍増する理由(翻訳)|TechRacho by BPS株式会社

    要約 メモリ断片化は測定や診断が困難ですが、驚くほど簡単に修正できることもあります。マルチスレッドのCRubyプログラム(mallocのスレッド単位メモリアリーナ)におけるメモリ断片化の原因を追ってみましょう。記事のボリュームは3343語、20分程度です。 単純な設定変更だけで問題を完全に解決できることはめったにありません。 私の顧客のSidekiqプロセスが大量のメモリを消費していたことがありました(1プロセスあたり1 GB程度)。開始当初の各プロセスは300MB程度でしたが、時間の経過とともにじわじわと肥大化してほぼギガバイトレベルにまで達したところで落ち着き始めました。 私は顧客にMALLOC_ARENA_MAXというたった1つの環境変数の変更を依頼しました。「2に設定してください」と。 プロセス再起動後、「じわじわ肥大化」現象はピタリと止みました。プロセスのメモリ使用量は以前の半

    Ruby: mallocでマルチスレッドプログラムのメモリが倍増する理由(翻訳)|TechRacho by BPS株式会社
  • IBM Developer

    IBM Developer is your one-stop location for getting hands-on training and learning in-demand skills on relevant technologies such as generative AI, data science, AI, and open source.

    IBM Developer
  • Linux で huge page を使っているプロセスを調べる方法 - ablog

    調べ方 /proc/[pid]/smaps で KernelPageSize がデフォルトの 4kB 以外のプロセスを探す。 調べ方の例 /proc/[pid]/smaps で KernelPageSize が 4 kB 以外のプロセスを探す。 [root@yazekats-linux ~]# perl -lane '/KernelPageSize/ and $F[1]!=4 and print qq/$ARGV\t$_/' /proc/*/smaps /proc/3834/smaps KernelPageSize: 2048 kB PID:3834 のプロセス名を調べる。 [root@yazekats-linux ~]# ps -fp 3834 UID PID PPID C STIME TTY TIME CMD root 3834 3832 0 13:44 pts/0 00:00:01

    Linux で huge page を使っているプロセスを調べる方法 - ablog
  • MongoDB

    General InformationDocumentationDeveloper Articles & TopicsCommunity ForumsBlogUniversity

    MongoDB
  • メモリリークとは何か - 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
    masa0x80
    masa0x80 2013/04/23
    これは!!!問題や!!!!
  • Linuxのバッファキャッシュとページキャッシュの違いは? | b.l0g.jp

    Linuxのバッファキャッシュとページキャッシュの違いは? 2012-10-25 Linuxが管理するキャッシュ領域には、バッファキャッシュとページキャッシュ領域があって、topコマンドや/proc/meminfoの「bufferes」「cached」という項目を見れば、現在のそれぞれのキャッシュ領域がどの程度なのかを確認することができる。 どちらも、ディスクの読み書きをキャッシュしてデータへのアクセスを高速化するという点では同じだが、それぞれがどのような意味で、どういう違いがあるのかについて、Quoraに分かりやすい解説があったので、翻訳してみた。 ページキャッシュは、ファイルI/Oを最適化するために、ファイルのページをキャッシュする。バッファキャッシュは、ブロックI/Oを最適化するために、ディスクブロックをキャッシュする。 Linuxカーネル2.4よりも前では、2つのキャッシュは明白に

  • Linux のメモリー管理(メモリ―が足りない?,メモリーリークの検出-防止)(Kodama's tips page)

    サ−バ等に使っているPC のメモリが十分かどうか気になる事は多いと思う. 調べ出すと フリーメモリーの不足や SWAP にメモリーがはみだしている様子など 心配な事がいろいろでて来る. PC の動作が遅くなる原因は様々な要因が絡み合っているので, 表面に現れた症状だけでは効果的な対策が分からない事もある. 以下では, メモリ−関連にしぼって解説する. メモリの状況を調べる メモリ−は十分なはずなのに 余裕が無い? どのプロセスがメモリを消費しているのか? メモリーのリークを検出する方法? 防止する方法? メモリ−は十分なはずなのに SWAP を使ってる? じゃ, 当のメモリ−不足はどうしたら分かるの? メモリーと SWAP 領域はどのくらい確保すると良いのか メモリの状況を調べる メモリの利用状況を調べる方法は, free, top, ps, vmstat, /proc/meminfo

  • Engadget | Technology News & Reviews

    How to watch NASA's first Boeing Starliner crewed flight launch today (scrubbed)

    Engadget | Technology News & Reviews
  • C(++)言語: valgrindの使い方

    ubuntu% uname -a Linux ubuntu 2.6.12-10-386 #1 Sat Mar 11 16:13:17 UTC 2006 i686 GNU/Linux ubuntu% valgrind --version valgrind-3.0.1 (0) 目次 Valgrindに含まれるツール Memcheck: メモリエラーを検出する(default) Cachegrind: キャッシュミスを検出する Massif: ヒーププロファイラを使う まとめ valgrindの使い方とエラーメッセージを整理してみた。「valgrind --leak-check=full command」というコマンドラインをよく用いる。これによりメモリ周りのバグを検出出来る。 --tool=cachegrindではプログラム実行時のキャッシュミス率を測定する事が出来る。cg_annotateを

  • Mozilla Re-Mix: Firefox 3のメモリ/ディスクキャッシュを自動的にクリアしてくれるアドオン「Cache Status」

    Firefoxでブラウジングを長く続けていると、メモリやディスクにキャッシュが貯まってきます。 これらを解放するためのアドオンもいくつかありますが、その中でも今回は、設定した数値に達したら自動的にメモリ/ディスクキャッシュをクリアしてくれるアドオン「Cache Status」を使ってみました。 「Cache Status」は、以前ご紹介したRAM解放アドオン「RAMBack」とよく似たツールですが、「RAMBack」は、気がついたときに手動で実行するというタイプのものです。 「Cache Status」は、この作業をメモリだけでなく、ディスクキャッシュにも適用でき、あらかじめ設定した数値に達した場合、自動的に解放してくれるのが特徴です。 インストールしたら、まずは設定を行いましょう。 オプション画面には、以下のように各キャッシュの最大容量の設定、その容量の何%になればクリアを実行するかの指

  • Firefox が使用しているメモリを定期的に開放する MetaboFix

    MetaboFix は、Firefox が使用しているメモリを定期的に開放するソフトウェアです。 そう、Firefox のメタボ対策ソフトです。 まずは、その効果を以下のスクリーンショットで確認して下さい。

  • 1