タグ

メモリに関するthaimのブックマーク (12)

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

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

    Ruby: mallocでマルチスレッドプログラムのメモリが倍増する理由(翻訳)|TechRacho by BPS株式会社
  • Amazon EC2 や IDCF クラウド上でスワップ領域を確保する : まだプログラマーですが何か?

    Amazon EC2 や IDCF のサーバーインスタンスを使っていますが、どうしても気になるのはデフォルト状態ではスワップ領域が確保されていないことです: ↑メモリは1GBで残り65MBほど。 もうすぐメモリが足りなくなりそう、でもスワップ領域はゼロ・・・ 特に高速化のために memcached とかを使うアプリを動かそうとすると、どうしてもメモリが不足しがちになります。スワップ領域がない状態で、一瞬でもメモリが足りなくなってしまうとアウトです。回避するにはなんとかしてスワップ領域を確保する必要があります。 EC2 や IDCF クラウドでは静的にスワップ領域が確保されているわけではないため、EBS などの追加ディスクを使う方法もありますが、これだとスワップ領域のために料金がかかる上、EBS は I/O にも課金されるので、スワップファイルを作る先としてはコスト的に不利です。 というわけ

    Amazon EC2 や IDCF クラウド上でスワップ領域を確保する : まだプログラマーですが何か?
  • Linux Storage Filesystem/MM Summit 2014からの便り

    Linux Storage Filesystem/MM Summit 2014からの便り:Linux Kernel Watch(1/2 ページ) お久しぶりです、Linux Kernel Watchが帰ってきました。3月に行われた「Linux Storage Filesystem/MM Summit 2014」の主なトピックを紹介します。 皆さん、お久しぶりです。私は今ボストンで、米レッドハット常駐という立場でRed Hat Enterprise Linux(RHEL)開発に携わっています。 今回はサンフランシスコ近郊のナパバレーで2014年3月24~25日に行われた「Linux Storage Filesystem/MM Summit 2014」(以下LSF/MM)の中から面白かったトピックをピックアップしてお届けしたいと思います。 LSF/MMはLinux Foundation主催で行

    Linux Storage Filesystem/MM Summit 2014からの便り
  • どうしてメモリはスワップするのか!?

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

    どうしてメモリはスワップするのか!?
    thaim
    thaim 2014/01/17
    カーネルソースにも言及があるので、ぜひソースと突き合わせて確認したい
  • Linux上のメモリーベースファイルシステムtmpfsについてメモ

    Summary バックエンドがブロックデバイスではなくスワップ。メモリに乗らなくなったら、スワップ領域を使う。 ファイルシステムの容量は指定可能(デフォルトでは RAM の半分)。あとから変更することも可能。 容量はファイルシステム作成時に予め確保されるわけではなく、ファイルシステム上の容量に応じて確保する。 リブートすると、すべてのファイルは失われる Use Case 主な用途 anonymous mmap と System V 共有メモリではカーネル内で外からわ見えない形で tmpfs を利用 glibc の Posix 共有メモリ/セマフォでは /dev/shm 以下を利用 ディスクI/O が大量に発生するようなテストを高速化するために利用 キャッシュ/セッションファイルの出力先として利用 tmpfs setup 新規に tmpfs をマウント # mkdir -pv /tmp/ne

    Linux上のメモリーベースファイルシステムtmpfsについてメモ
  • 【後藤弘茂のWeekly海外ニュース】 CPUとGPUのメモリ空間を統一するAMDの「hUMA」アーキテクチャ

  • SystemTapで真犯人を捕まえろ!

    SystemTapで真犯人を捕まえろ!:Linuxトラブルシューティング探偵団 番外編(3)(1/4 ページ) NTTグループの各社で鳴らした俺たちLinuxトラブルシューティング探偵団は、各社で培ったOSS関連技術を手に、NTT OSSセンタに集められた。普段は基的にNTTグループのみを相手に活動しているが、それだけで終わる俺たちじゃあない。 ソースコードさえあればどんなトラブルでも解決する命知らず、不可能を可能にし、多くのバグを粉砕する、俺たちLinuxトラブルシューティング探偵団! 助けを借りたいときは、いつでもいってくれ! OS:高田哲生 俺はリーダー、高田哲生。Linuxの達人。俺のようにソースコードレベルでOSを理解している人間でなければ、百戦錬磨のLinuxトラブルシューティング探偵団のリーダーは務まらん。 Web:福山義仁 俺は、福山義仁。Web技術の達人さ。Apache

    SystemTapで真犯人を捕まえろ!
  • Engadget | Technology News & Reviews

    Parrots in captivity seem to enjoy video-chatting with their friends on Messenger

    Engadget | Technology News & Reviews
  • SystemTap で特定のプロセスが発行したシステムコールを表示する - ablog

    スクリプトを用意する targeted.stp probe syscall.* { if ( pid() == target() ) printf("Syscall: %s\n",name) } 実行してみる モニタリングするプロセスを起動する $ ping localhost モニタリングしたいプロセスのPIDを調べる。 $ ps -elf|grep [p]ing 4 S oracle 3198 3169 0 75 0 - 493 416062 00:44 pts/0 00:00:00 ping localhost SystemTap を使ってモニタリングしてみる。 # stap ./targeted.stp -x 3198 Syscall: gettimeofday Syscall: gettimeofday Syscall: sendmsg Syscall: recvmsg Sysc

    SystemTap で特定のプロセスが発行したシステムコールを表示する - ablog
  • 「インメモリデータベース」、すべてのデータをメモリに入れる超高速データベース

    この記事は、日経SYSTEMS 6月号に掲載された連載「新野淳一の技術インパクト」第3回のオリジナル原稿をPublickey掲載用に編集したものです。Publickeyでは日経SYSTEMS編集部との合意を得て、雑誌発行から一定期間後に記事をPublickeyに掲載しています。 現在、ほとんどあらゆる業務アプリケーションのバックエンドには、リレーショナルデータベースが存在する。そのリレーショナルデータベースは、1980年代に商用製品が登場した当初から大きな課題を抱えてきた。遅い、という課題だ。 この課題を解決するために、最近ではハードディスクの代わりにフラッシュドライブを用いたり、NoSQLデータベースなどが登場しつつあるが、大きく注目され実用化も進んでいるのが「インメモリデータベース」である。 文字通りすべてのデータをメモリ上で保持することにより圧倒的な速度を実現するインメモリデータベー

    「インメモリデータベース」、すべてのデータをメモリに入れる超高速データベース
  • Firefox、メモリ食い「ダークマター」の正体突き止める | エンタープライズ | マイコミジャーナル

    Firefox web browser - Faster, more secure & customizable Firefoxでは長らく種類を特定することができない謎のヒープメモリが存在していた。Nightly版でURL欄に「about:memory」を入力すると、メモリ表示の2行目に「heap-unclassified」という項目が見つかるはずだ。何に使われているのかわからない上に、全体のメモリ利用のうえでかなりの割合を占めている。この用途不明のメモリを突き止め排除すれば、メモリ使用量を大幅に減らすことが可能になるとみられる。 この用途不明メモリの正体のひとつが実はjemallocのメモリアロケート時に発生する未使用領域であることがNicholas Nethercote氏によって報告された。すでに原因も明らかになっており、調査および分析を実施した結果、どの部分を改善すればメモリ使用量を

  • Androidアプリのメモリリーク対策手法 | Bescottee

    googleAndroid開発者向け ブログに「Memory Analysis for Android Applications」という記事があったため、自分のために訳しました。参考になれば幸いです。エントリを見るうえで、eclipse の基的な使い方を理解している必要があります。 Androidアプリのメモリ解析手法 Dalvikランタイムは、ガベージコレクトしてくれるかもしれませんが、それはメモリ管理を行わなくてもよいというわけではありません。モバイル端末上でのメモリ利用状況は特に注意を払わなければなりません。投稿では、開発するアプリのメモリ利用状況の把握を支援する Android SDK で提供しているメモリプロファイリングツール群のいくつかを紹介させて頂きます。 メモリ利用時の問題はいくつか明らかになっています。例えば、もしあなたのアプリがユーザの画面タッチ操作のたびにメモ

  • 1