タグ

gcに関するy_yukiのブックマーク (3)

  • JavaScriptでメモリ効率を考える その1(シングルフレームバッファ篇) - Qiita

    JavaScriptでメモリ効率を考える その1(シングルフレームバッファ篇)←この記事 JavaScriptでメモリ効率を考える その2(メモリアロケータ篇) 通常のオブジェクト生成 これは一つのあるあるですが、ゲームを製作していると、 「よーし、パパこのタイミングでオブジェクト1万個作っちゃうぞー!」 というふざけたことがままあります。(ないです) それはつまりコードにするとこんな感じ。 function loop(){ // ふふふ、万単位の弾幕でプレイヤーをぶっころそう! let i = 10000; while(i--){ // 弾の位置をいっぱい作るぞー! const vec = new Vector3(i, i, i); } requestAnimationFrame(loop); } class Vector3{ constructor(x, y, z){ this.x =

    JavaScriptでメモリ効率を考える その1(シングルフレームバッファ篇) - Qiita
  • OutOfMemoryError の調べ方 - Qiita

    Java 8 で、 Oracle の JVM を前提とした話です。 Java のメモリ管理 これを知っておかないと、 OOME が起こっても、メモリ内で何が起こっていて、どこを調査すべきで、どのように対処したらいいのかが判断できない。 なので、まずは、そもそも Java がどうやってメモリを管理しているのかを知る。 しかし、実際調べてみたら予想通りというかなんというか、量が多くなってしまった。 なので、個々の用語の説明は末尾の 用語集 に押し込めたので、ここではざっくりとした概要だけ記載する。 メモリの構造 超ざっくりとした、メモリ構造を表した図。 おおきく、ヒープ(Heap)領域とネイティブ(Native)領域の2つの領域がある。 ヒープは Java プログラムが使う領域で、プログラム上で生成したオブジェクトは、このヒープ領域に配置される。 一方、ネイティブ領域は JVM が動くのに必要

    OutOfMemoryError の調べ方 - Qiita
  • 第3回 システムトラブルの原因はGCの実装を知れば見えてくる | gihyo.jp

    原因は大きく分けて3つあります。 1つめは、リソース不足です。たとえば、CPUのクロックやコアが足りず、処理の完了待ちであることなどが原因として考えられます。 図1 CPUのリソース不足の例 2つめは、M/W(ミドルウェア)からアプリケーションに提供されるスレッドや、コネクションのプールにあるリソースが不足していて、その提供待ち(無応答)になっている可能性です。 M/Wでプールしているリソースが不足した状況は、会社の書籍棚に1冊しかないを社員で順番待ちしている状況に似ています。1冊しかないため、今借りている人が返すまでは他の人は借りれません。 図2 M/Wでプールされたリソースが不足しているケース 1つめのケースで問題がGCにある場合、GCに割り当てるリソースのバランスが悪いことが原因です。たとえば、特定のプロセスに対するCPUリソースの割り当てが大きい場合、GCが起きると、CPUリソー

    第3回 システムトラブルの原因はGCの実装を知れば見えてくる | gihyo.jp
  • 1