タグ

gcに関するhiroomiのブックマーク (50)

  • verbose:gc 情報の使用 (AIX、Linux のみ)

    -verbose:gcオプションを-Xgc:verboseGCCycleTime=Nオプションとともに使用すると、Metronomeガーベッジ・コレクター・アクティビティーに関する情報をコンソールに書き込むことができます。 標準JVMからの-verbose:gc出力に含まれるすべてのXMLプロパティが、メトロノーム・ガーベッジ・コレクターの出力に作成または適用されるわけではありません。 ヒープ内の最小フリー・スペース、最大フリー・スペース、および平均フリー・スペースを表示するには、-verbose:gcオプションを使用します。 これにより、ヒープのアクティビティーや使用状況のレベルを確認し、必要に応じて値を調整することができます。 -verbose:gcオプションは、Metronome統計をコンソールに書き込みます。 -Xgc:verboseGCCycleTime=Nオプションは、情報の取

    hiroomi
    hiroomi 2022/02/14
  • メモリーとガベージコレクションの管理 (Sun Java System Application Server Enterprise Edition 8.2 パフォーマンスチューニングガイド)

    Sun Java System Application Server Enterprise Edition 8.2 パフォーマンスチューニングガイド メモリーとガベージコレクションの管理 アプリケーションの効率は、メモリーとガベージコレクションをどれだけ適切に管理するかによって左右されます。次の各節では、メモリー機能と割り当て機能の最適化について説明しています。 「目標」 「ガベージコレクションの追跡」 「ガベージコレクタのその他の設定」 「Java ヒープのチューニング」 「 Windows での DLL ベースアドレスの再割り当て」 「詳細情報」 ガベージコレクタのチューニング ガベージコレクション (GC) では、以前にオブジェクトに割り当てられ、現在は不要になったヒープスペースが再生されます。デッドオブジェクトを見つけて削除するプロセスによって、アプリケーションが停止状態になったり

    hiroomi
    hiroomi 2022/02/14
  • Linux のメモリー管理(メモリ−が足りない?,メモリーリークの検出/防止)(Kodama's tips page)

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

    hiroomi
    hiroomi 2022/02/14
  • 5分で分かるガベージコレクションの仕組み|ITフリーランスをサポートするギークスジョブ

    ギークスジョブの掲載案件はリモートワークでの参画がご相談可能です。 また、現在実施している個別説明会、各種イベント、顧客企業様との商談打ち合わせはオンラインでご対応いただけます。

    5分で分かるガベージコレクションの仕組み|ITフリーランスをサポートするギークスジョブ
    hiroomi
    hiroomi 2022/02/14
  • Cassandraのストレージエンジンを入れ替えて高速化した「Rocksandra」、Instagramがオープンソースで公開。Javaのガベージコレクションによる遅延を大幅に解消

    Cassandraのストレージエンジンを入れ替えて高速化した「Rocksandra」、Instagramがオープンソースで公開。Javaのガベージコレクションによる遅延を大幅に解消 Instagramは、NoSQLデータベースのCassandraで発生していたJavaのガベージコレクションに起因する遅延を解消し、高速化した改良版Cassandraをオープンソースで公開したと発表しました。 ストレージエンジンとしてキーバリューストアの「RocksDB」を用いたことから、同社はこの改良版Cassandraを「Rocksandra」と呼んでいます。 JavaのガベージコレクションがCassandraの遅延を発生させている 同社がRocksandraの開発に至った経緯は、エンジニアブログ「Open-sourcing a 10x reduction in Apache Cassandra tail

    Cassandraのストレージエンジンを入れ替えて高速化した「Rocksandra」、Instagramがオープンソースで公開。Javaのガベージコレクションによる遅延を大幅に解消
    hiroomi
    hiroomi 2018/03/13
  • 【python】pythonでメモリ不足になったときにすること - 静かなる名辞

    最終更新:2018/11/26 はじめに pythonはLLですが、なぜかメモリを何十GBも消費するような(一般的なPCのリソースからすれば)大規模なデータ分析に広く使われています。このようなデータ分析では、往々にしてメモリ不足が生じ、それなりに配慮してプログラムを書かないとそもそもプログラムが走らない、MemoryErrorが出るといった事態が発生しがちです。 そういうときにやるべきことをつらつらと書いていきます。なお、下の方に行くほど邪悪度()が増していきます。 目次 はじめに 対策 メモリを増設する・システムのswap領域を増やす multiprocessingを使っているなら使うのをやめる、あるいはプロセス数を減らす 要らないデータはGCに回収させる リストは積極的にnumpy配列にする 疎行列型配列を使用する 32bitにする 配列処理は破壊的代入で行う numpyの機能に頼る

    【python】pythonでメモリ不足になったときにすること - 静かなる名辞
  • C言語でインクルードするだけで使えるNon-movingで正確なコピーGCを作った - Qiita

    インクルードするだけで使えるNon-movingで正確なGCをC言語用に作りました。 行数がコメントを除いて100行に満たない非常に小さなライブラリです。 GCのアルゴリズムとしてはCheneyのコピーGCを採用しています。 通常のCheneyのコピーGCではメモリ空間のうち半分が無駄になってしまいメモリ効率が悪かったり、 GC発生時にオブジェクトが移動してしまいC言語のようなポインタを直接触れる言語との相性が悪いという欠点がありました。 今回はヒープ全体を二重連結リストとして管理することでそのような問題を解決しています。 ちなみにこれはTreadmill GCのアイデアと同じです。(が、アルゴリズム自体はTreadmill GCではありません。) APILinuxのlist.hに非常に近い見た目になっています。 ある構造体をgcで管理したい場合はstruct gc_head型のメンバを

    C言語でインクルードするだけで使えるNon-movingで正確なコピーGCを作った - Qiita
    hiroomi
    hiroomi 2017/10/10
  • まじめにJVMチューニング: 第2回 GCログをみる

    きほんのきです。 まずはログを見ます。 GCログを出すようにしていない場合は、GCログを出すようにします。 -Xloggc:/var/log/gc.log # 出力先パス -XX:+PrintGCDetails -XX:+PrintGCDateStamps の3つのパラメータを指定してjavaを起動します。 java -XmsXXXXM -XmxXXXXM -Xloggc:/var/log/gc.log -XX:+PrintGCDetails -XX:+PrintGCDateStamps -classpath <クラスパスとか> <プラグラム> <引数> このようにして実行しGCログを採取します。 (上記の例では/var/log/gc.log) で、開いてみると、こんな感じの文字列がつらつらと並んでいます。 ※私の環境では、GCアルゴリズムをコンカレントGCとしています。 2014-01-

    hiroomi
    hiroomi 2016/07/04
  • 最強のJVMチューニング・ツール: GCログを可視化するGCViewerとリモート接続でプロファイリング可能なVisualVM

    まずは倍率を1000倍から5000倍に上げます。 Data Panelも一旦非表示にします。 さて、これを見ると、使用済みヒープと使用済みNew領域は比例しつつ一定の間隔で上下しています。 ここからは特異点は見えないので、一旦非表示にします。 イニシャル・マークレベル(黄色の線)も一定で、分析対象としづらいので非表示にします。 すっきりして少し見やすくなりました。 ここから、 最も時間がかかっているのはイニシャル・マーク イニシャル・マークは1分間に2回程度発生している ということが読み取れます。 イニシャル・マーク では、そもそも、コンカレントGCにおけるイニシャル・マークとは何なのでしょうか。 OracleのドキュメントのReviewing GC with the CMSによると、New領域から参照されているオブジェクトをマークするのだと。 Stop the Worldを伴い、マイナー

    hiroomi
    hiroomi 2016/07/04
  • JavaのGC頻度に惑わされた年末年始の苦いメモリ

    JavaのGC頻度に惑わされた年末年始の苦いメモリ:現場から学ぶWebアプリ開発のトラブルハック(9)(1/3 ページ) 連載は、現場でのエンジニアの経験から得られた、APサーバをベースとしたWebアプリ開発における注意点やノウハウについて解説するハック集である。現在起きているトラブルの解決や、今後の開発の参考として大いに活用していただきたい。(編集部) Java言語を利用するようになって、システムを開発するうえで楽になった要素は何かというアンケートがあったとき、読者の皆さんならどのように回答するだろうか。私は迷わず、「メモリ管理」と回答する。 同時に、Javaを利用してシステム開発を行う際に、注意していること、悩まされたことは何かとアンケートがあれば、「GC(ガベージ・コレクション)」と回答するだろう。 多くのシステム開発の現場では、いまこの瞬間も、JavaのGCの挙動に悩まされ、GC

    JavaのGC頻度に惑わされた年末年始の苦いメモリ
    hiroomi
    hiroomi 2016/07/04
  • Pythonで少なくメモリを使用する方法 - のんびりしているエンジニアの日記

    皆さんこんにちは お元気ですか。私は元気です。 今日はPythonにおけるメモリ少なく使う方法を紹介したいと思います。 なぜ、そんな方法を書くに至ったか。それは、こんなエラーをしょっちゅう見ているからですね。 Traceback (most recent call last): File "lasagne_wheal.py", line 48, in <module> prediction = model.predict_proba(np.array(X_test)) MemoryError 画像処理を行っている人間ならよくやりがちかもしれませんが、 要はint8で持っている情報をfloatに変換してデータが膨れ上がったことによってメモリが 不足していることから発生しています。 Convolutional Neural Networkを大きな画像で実施しようとするとよく発生するのではないで

    Pythonで少なくメモリを使用する方法 - のんびりしているエンジニアの日記
  • Node.jsでのJavaScriptメモリリークを発見するための簡単ガイド | POSTD

    目次 初めに 極小理論 ステップ1. 問題の再現と確認 ステップ2. 最低3回のヒートダンプ採取 ステップ3. 問題の発見 ステップ4. 問題解決の確認 他のリソースへのリンク まとめ Something you might want to bookmark: Simple Guide to Finding a JavaScript Memory Leak in Node.js by @akras14 https://t.co/oRyQboa8Uw — Node.js (@nodejs) January 6, 2016 注釈:お気に入りに登録してください。 Simple Guide to Finding a JavaScript Memory Leak in Node.js (Node.jsでのJavaScriptメモリリーク発見簡単ガイド) @akras14 http://www.ale

    Node.jsでのJavaScriptメモリリークを発見するための簡単ガイド | POSTD
    hiroomi
    hiroomi 2016/05/30
  • 5. Data Structures — Python 2.7.18 documentation

    This document is for an old version of Python that is no longer supported. You should upgrade and read the Python documentation for the current stable release. 5. Data Structures¶ This chapter describes some things you’ve learned about already in more detail, and adds some new things as well. 5.1. More on Lists¶ The list data type has some more methods. Here are all of the methods of list objects:

    hiroomi
    hiroomi 2016/03/26
  • 参照カウント - Wikipedia

    この記事は検証可能な参考文献や出典が全く示されていないか、不十分です。出典を追加して記事の信頼性向上にご協力ください。(このテンプレートの使い方) 出典検索?: "参照カウント" – ニュース · 書籍 · スカラー · CiNii · J-STAGE · NDL · dlib.jp · ジャパンサーチ · TWL(2021年5月) 参照カウント(さんしょうカウント、英: reference counting)は、メモリオブジェクトのライフサイクル(寿命)管理に使用される方式のひとつ。ガベージコレクションの実装方法およびガベージコレクタの動作方法のひとつとしても利用される。また、コピーオンライトの実装方法としても多用される。 処理の概要[編集] すべてのオブジェクト(メモリ上に置かれているデータの単位)に対して、参照カウントと呼ばれる整数値を付加しておく。これは、このオブジェクトへの参照(

    hiroomi
    hiroomi 2016/03/26
  • 第5回 チューニングのために理解しておきたいGCの4つのアルゴリズム | gihyo.jp

    なぜアルゴリズムを学ぶのか GCによる停止時間が長くなり、アプリケーションの処理時間が短くなると、業務に使える時間が短くなってしまいます。その問題を解決するために、GCをチューニングすることで、アプリケーションの停止時間を短くすることが考えられます。 その際大事なのは、GCのアルゴルズムを把握しておくことです。 GCのチューニングを行うときは、GCで行われている処理の内、どの処理に時間がかかっているかをモニタリング⇒分析⇒チューニングする、という流れになります。しかし、GCのアルゴリズムを知らないと、モニタリング結果を見てもどこに問題があるかがわからず、分析やチューニングを行うことができません。 今回は、以下の4つのアルゴリズムをご紹介します。 マーク&スイープGC コンパクション コピーGC 世代別GC GCのアルゴリズムはJVMの実装によって異なりますが、多くの場合、上記4つのアルゴリ

    第5回 チューニングのために理解しておきたいGCの4つのアルゴリズム | gihyo.jp
    hiroomi
    hiroomi 2016/03/26
  • Copying Garbage Collector

    copying GCでウェブを検索すると真っ先に東大のコンパイラ演習の資料*が出てくるが、恥ずかしながらこれを読んでもいまひとつはっきりしたイメージが湧かず、うまくいくという確信がなかった。 最近ようやく腑に落ちたのでまとめてみようと思う。 copying GCではヒープを2つの部分空間に分け、 プログラムはその片方だけを利用して動作する。そこに空きがなくなるとGCが起動する。 GCは使われている部分空間(from-space)の中の到達可能なオブジェクトを全てもう一方の部分空間(to-space)にコピーする。GCが終了するとプログラムは今度はto-spaceを使って動作を継続する。2つの部分空間の役割はGCのたびに入れ替わる。 GC前 GC後 まずはmark and sweep方式をおさらい。その後、 copying GCの説明に先立ちmark-compact方式を説明する。 mark

    Copying Garbage Collector
    hiroomi
    hiroomi 2016/03/26
  • マーク・アンド・スイープ - Wikipedia

    この記事は検証可能な参考文献や出典が全く示されていないか、不十分です。出典を追加して記事の信頼性向上にご協力ください。(このテンプレートの使い方) 出典検索?: "マーク・アンド・スイープ" – ニュース · 書籍 · スカラー · CiNii · J-STAGE · NDL · dlib.jp · ジャパンサーチ · TWL(2021年6月) マーク・アンド・スイープ(mark-and-sweep)は、ガベージコレクションの実装方法およびガベージコレクタの動作方法の一つ。 方法[編集] 基的な方針は、あるオブジェクト(ここでは、ルートオブジェクトと呼ぶ)からのトラバース(オブジェクトから別のオブジェクトへの参照を辿ること)によって到達可能なオブジェクトに印(マーク)をつけ、印のつかなかったオブジェクトを破棄(スイープ)する、というものである。 具体的な手順の一例は次のようになる: ルー

    hiroomi
    hiroomi 2016/03/26
  • ガベージコレクション | 翔泳社

    プログラムが使用しなくなったメモリ上の空間を解放し、他のプログラムが使えるようにするのは、古くはプログラマの役割でした。それがゆえに、しばしば解放を忘れるというヒューマンエラーを引き起こし、ついには「メモリ不足です」と宣告され、あるいはオペレーションシステムもろとも轟沈し、作業中のデータはすべて消え失せ、モニタの前のユーザーは声にならない叫び声をあげるというシーンがしばしば見られました。 そこで研究され実装されたのが、ガベージコレクションです。これはメモリの解放を人任せにせず、プログラム自身が行えるようにするもので、プログラマの苦役の幾ばくかをも解放してくれました。 とはいえ、その実装方法やアルゴリズムは多種多様で、ガベージコレクションがあるから大丈夫、という思い込みだけでプログラムを作成していると、思わぬ落とし穴に転げ落ちることになります。 書はアルゴリズムはもちろん、その実装方法とメ

    ガベージコレクション | 翔泳社
    hiroomi
    hiroomi 2016/03/02
    “9784798134208” gcはテストの探索
  • Amazon.co.jp: ガベージコレクション: 自動的メモリ管理を構成する理論と実装: Richard Jones (著), 前田敦司 (翻訳): 本

    Amazon.co.jp: ガベージコレクション: 自動的メモリ管理を構成する理論と実装: Richard Jones (著), 前田敦司 (翻訳): 本
    hiroomi
    hiroomi 2016/01/28
    978-4798134208
  • Beatsのつくりかた - ヒープとGCを取得するJstatbeatsを実装してみた - Taste of Tech Topics

    Hello, world! @cero_t です! このエントリーはElasitcsearch Advent Calendarの20日目になります。 先日、Elastic{ON} Tour 2015 Tokyoが行われました。 世界各地で行われたイベントの中で最後となる東京では、無料イベントにも関わらず、 セッションは充実しているし、資料が印刷されて、しかも翻訳までされているし、 ランチ人形町今半のお弁当が配られるし 帰るときにもらったノベルティグッズが、なんとElasticロゴ入りモバイルバッテリーだったり、 とんでもないホスピタリティあふれるイベントでした。 Acroquestもelastic社のパートナーとして提携して、今回もデモスポンサーとして参加しましたが それ以外にも何かイベントの盛り上げをお手伝いができないかなと思い、リアルタイムブログに挑戦してみました。 当日のブログ一覧

    Beatsのつくりかた - ヒープとGCを取得するJstatbeatsを実装してみた - Taste of Tech Topics