タグ

メモリに関するkochizufanのブックマーク (8)

  • [script] 特定プロセスのVSZとRSSのメモリ合計を算出する : J-Linuxer

    Linuxer's the diary of a Linux setup and software development . メモリをチューニングする時に複数のプロセスが同時に起動するサービスはよくあります。psコマンドでVSZやRSSを確認するかと思いますが、いちいち計算するのは面倒。かと行ってシェルを組むのも億劫なのでワンライアースクリプトで一撃で出したいと思います。 ワンライナーと言いつつ、サンプルは見やすいように改行しておいます。インプットはpsコマンドであとはawkで6番目のVSZと7列目のRSSを合計するように処理させます。 [プロセス名]を指定する時、例えば“httpd”とかで絞り込む場合は ” grep [h]ttpd “ とするとpsコマンドにgrepが含まれないのでより正確な値が出力されるます。 ps aux | grep [プロセス名] | \ awk 'BEGI

  • C MAGAZINE Linux programming Tips 第5回 プロセス間通信(System V IPC)プログラミング登竜門

    C MAGAZINE Linux programming Tips 第5回 プロセス間通信(System V IPC)プログラミング登竜門 ■はじめに 今回は、Linux上で2つ以上のプロセスがデータを受け渡すためのに必要なプログラミングについて紹介します。 UNIXのプロセス通信機構としては、パイプ (pipe)、ソッケト(socket)、メッセージキュー(message queue)、 共有メモリ (shared memory)、セマフォ(semaphore)などがあります。 後者3つは、 SystemV IPC(Inter Process Communication)と呼ばれるもので、 その中のメッセー ジキュー、共有メモリーのプログラミングについて説明します。 System V IPCは、歴史的には、名前の通りSystem V Unixで実装されたもので、 現在のほとんどのUnix

  • System V 共有メモリー (プログラミングインタフェース)

    System V 共有メモリー SunOS 5.9 オペレーティングシステムで共有メモリーアプリケーションを実装するには、mmap(2) とシステムの内蔵仮想メモリー機能を利用する方法が最も効率的です。詳細は、第 1 章「メモリー管理」を参照してください。 SunOS 5.9 は System V 共有メモリーもサポートしますが、物理メモリーのセグメントを複数のプロセスの仮想アドレス空間に接続する方法としては最適ではありません。複数のプロセスに書き込みアクセスが許可されているときは、セマフォなどの外部のプロトコルやメカニズムを使用して、不整合や衝突などを回避できます。 プロセスは、shmget(2) を使用して共有メモリーセグメントを作成します。この呼び出しは、既存の共有セグメントの ID を取得する際にも使用できます。作成プロセスは、セグメントのアクセス権と大きさ (バイト数) を設定し

  • ARC のメモリ解放タイミングを調べた - Qiita

    一つの関数内で容量の大きなファイルを読み込み加工する処理を連続して行っていたらメモリが足りなくなった。 ARC ではスコープを外れ(て参照カウンタがゼロになっ)たオブジェクトは、すぐに破棄されると思っていたのでしばらくハマった。 問題のソース(ARC使用) ローカルでもWebでも何でもいいけど、ファイルから無視できない程度の容量のデータの読み込みを繰り返す処理。 - (IBAction)buttonDownWithArc:(id)sender { NSString* path = @".../bigdata.img"; for (int i = 0; i < 10000; i++) { NSData* data = [NSData dataWithContentsOfFile:path]; [NSThread sleepForTimeInterval:0.5]; data = nil; }

    ARC のメモリ解放タイミングを調べた - Qiita
  • (旧) 猫好きモバイルアプリケーション開発者記録 Androidでstatic変数が勝手にクリアされる問題と対処法

    前回、Androidでは端末のメモリが不足するとstatic変数がクリアされたり、 Activityのメンバ変数がクリアされるという問題を紹介しました。 とはいえ、Object型変数であれば常に null になることを想定しなければならないとすると毎回 null チェックをしなければならないことになり、プログラムとしてもかなり可読性が悪いばかりか、不具合発生時に不具合を見逃す可能性も高くなります。 じゃあどうすればいい?ということになりますが、具体的な対処法の前に、まずはstatic変数がクリアされる理由について詳しく紹介します。 01. 端末がメモリ不足になってアプリを再アクティブにした場合、クラスロードから再度実行される 端末がメモリ不足になると、static変数やActivityのメンバ変数がクリアされると紹介しましたが、このとき、Javaとしてどのような動きをするかというと、クラス

  • (旧) 猫好きモバイルアプリケーション開発者記録 Android開発においての設計・開発の注意点

    AndroidアプリケーションはJavaで記述します。 Javaは非常に柔軟なプログラミングが可能な言語で、登場した当初はガベージコレクションの際に一時停止する遅い言語というイメージでしたが、今やHotSpotを利用するとC/C++よりも速くなる場合があるという、登場当初からは想像もつかなかった言語に成長しています。 前振りはさておき、そんなJavaという言語を利用してAndroidではアプリケーションを開発しますが、AndroidJavaは他のプラットフォームにおけるJavaとは大きく異なる点があります。 01. static変数はキャッシュ以外の目的で利用してはいけない static変数はアプリケーションが起動してから終了するまで、 ずっと保持され続ける値というイメージがあるかと思います。 これを利用して、例えば予め重い画像処理においてカラーテーブルを作成して、 それをstatic変

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

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

  • サービス終了のお知らせ

    サービス終了のお知らせ いつもYahoo! JAPANのサービスをご利用いただき誠にありがとうございます。 お客様がアクセスされたサービスは日までにサービスを終了いたしました。 今後ともYahoo! JAPANのサービスをご愛顧くださいますよう、よろしくお願いいたします。

  • 1