並び順

ブックマーク数

期間指定

  • から
  • まで

1 - 4 件 / 4件

新着順 人気順

ヒープの検索結果1 - 4 件 / 4件

  • TOMCAT殺害事件 - Qiita

    OOMKillerの殺意 顧客EC2のTomcatがアクセスの無い早朝にもかかわらずOOMKillerに突然殺されてしまったので、調査した顛末をたぶん同じような問題に直面されている方もおられるかと思いますので備忘録として記載します。 Javaヒープのチューニングにも多少役立つかと思います。 (この記事はJava8が対象となります。) OOMKillerとはOut of Memory時に、サーバ全体を守るためにメモリーを消費しているプロセスを停止するLinuxの標準機能です。 そのOOMKillerになんとTomcatが突然殺害されてしまいました。 問答無用の辻斬り状態です。 早朝ですのでアクセスログには何も記録されておらず、catalina.outには OpenJDK 64-Bit Server VM warning: Setting LargePageSizeInBytes has no

      TOMCAT殺害事件 - Qiita
    • golangではスタックとヒープを気にする必要が無い

      調べようと思ったきっかけは、golang では以下のように ローカル変数のアドレスを戻り値としても問題ないということ。 package main import ( "fmt" ) type Animal struct { Name string Age int } func main() { animal := allocAnimal() fmt.Printf("allocate animal structure %p", animal) } func allocAnimal() *Animal { return &Animal{} } C/C++ ではローカル変数のポインタを戻り値とした場合、 スタック領域のポインタを関数外に渡してしまうため、コンパイル時点で警告が表示されます (なぜエラーにしない) 実行時には最悪、セグメンテーションフォールトで落ちます そのため、malloc や n

        golangではスタックとヒープを気にする必要が無い
      • 知って使えるJVMの概要とヒープダンプ取得から解析まで

        本連載では、Javaプログラムの実行を担うJava仮想マシン(JVM)について、その情報を取得するさまざまなツールの利用を通じて理解を深めます。JVMやそのツールに関する知識はアプリケーションが正常に動作しているときではなく、障害など異常が起こった際に大いに活躍します。それだけでなく、Javaプログラムを動作させる仕組みを知ることはソフトウェアを開発するエンジニアの皆さんの知的な部分を刺激するとともに、シニアレベルのJavaエンジニアへと進む第一歩となります。連載第1回はJVMの概要を解説し、模擬的なトラブルシュート体験としてヒープダンプを取得して解析します。 はじめに 今後もアプリケーションをJavaで開発、運用していくことを前提にすると、そうした業務に携わる方は次のようなことを学び続けるでしょう。 Javaの半年ごとのバージョンアップに追随して新機能などを学ぶ アーキテクチャなどでの新

          知って使えるJVMの概要とヒープダンプ取得から解析まで
        • ヒープ領域とは?スタック領域との違いや具体的な管理方法を解説!|ITトレンド

          ヒープ領域とは、動的に確保と解放を繰り返せるメモリ領域のことです。プログラムの実行時には、OSからソフトウェアに対して一定量のヒープ領域が与えられます。ソフトウェアは、必要に応じて任意にヒープ領域を確保・解放できます。 ヒープ領域はデータの仮置き場や、臨時の作業台のような存在といえるでしょう。基本的に利用し終わった領域は解放し、再び自由に使える状態にしておきます。 なお、ツリー状のデータ構造のこともヒープと呼びますが、それとは意味が異なるため気をつけましょう。またプログラミング言語によってヒープの意味が異なる場合もあります。たとえば、javaではヒープ領域上に確保したメモリ管理システムのこともヒープと呼びます。 以下の文章でヒープと表現する場合はすべてヒープ領域を指すものとします。 スタック領域とヒープ領域の違い ヒープ領域とスタック領域は、どちらも一時的に確保されるメモリ領域です。両者は

            ヒープ領域とは?スタック領域との違いや具体的な管理方法を解説!|ITトレンド
          1