/home/by-natures/dev*

データ界隈で働くエンジニアとしての技術的なメモと、たまに普通の日記。

2016-09-01から1ヶ月間の記事一覧

SpringFramework で OutputStream を扱う

大きなファイルを API を通じて返したい処理があり、そのままだとヒープ領域を圧迫して OOM エラーとなってしまうため、ストリーム処理で逐次データをクライアントへ返却するようにしました。 調べている最中に、まさに質問したかったことを Stackoverflow …

ヒープダンプやプロファイルを見るのに jvisualvm が便利

以前の記事で JMX へ接続するためのクライアントとして、jconsole を紹介しました: dev.bynatures.net この後作業していて、jvisualvm というコマンドでもヒープダンプを見ることができると知り、そちらの方が便利だったので紹介します。 詳しい紹介記事 ww…

MemoryAnalyzer で巨大なヒープダンプファイルを扱う

ヒープダンプを扱った際のメモです。 メモリを多く使うアプリケーションが OOM エラーで落ちる際に、ヒープダンプを出力すると後々に調査が可能だと知りました。アプリケーション起動時に XX:+HeapDumpOnOutOfMemoryError オプションを設定するか、JMX 経由…

NVD3 で multiBarChart を扱う場合、データには数値型を渡す

Java での開発は少しずつ慣れているのですが、JavaScript は入る現場ごとに使うフレームワークが変わる印象があります。4年前ほどにジョインしたプロジェクトでは ExtJS, 同時期に走っていた別のプロジェクトでは AngularJS を使っていて、チーム間の技術的…

JMX を jconsole/SpringBoot で使う

JMX を業務で触れたため、改めて調べたのでメモ。 とりあえず SpringBoot で動かす JMX に接続するためのクライアントに jconsole というツールがあります。Stackoverflow で "What is the best or most commonly used JMX Console" という質問を見ても jcon…

Jackson パッケージは fasterxml が新しい

少し前に、Jackson パッケージを使おうとしてハマったことがありました。 Jackson には com.fasterxml.jackson グループのモノと org.codehaus.jackson のモノがあります。Jackson は 2.0.0 以降からネーミングスペースが前者の com.fasterxml.jackson に移…

HiveServer2 のメモリ使用量はパーティション数が関係する

まだ詳しく調べられていないのですがメモ代わりに。 先日 HiveServer2 を利用する機会があり、負荷がどのぐらい掛かるかを確認していました。Cloudera の説明によると、同時コネクション数にも依存しますが数GB〜数十GBのヒープ領域が必要だとあります: Con…

YARN の DRF スケジューリングについて

会社で Hadoop The Definitive Guide(いわゆる象本)の第4版を読んでいるのですが、その中の YARN の章で、ジョブスケジューリングのアルゴリズムである Dominant Resource Fairness (DRF) の説明があります。 YARN で複数のリソース(CPU, メモリなど)を…

PermGen 領域に OOM エラー

OOM エラーに出くわしたのですが、よく発生する Heap 領域のものとは違うエラーが発生しました: java.lang.OutOfMemoryError: PermGen space Hive 関係のアプリケーションで発生していて、temporary function を大量に利用する処理を入れたばかりだったので…

アカデメイア ソフトウェア勉強会 #1 を実施しました

前職の方や異業種交流会で知り合った方と機械学習勉強会を運営していたのですが、今回はソフトウェア開発に特化させた勉強会を実施しました。 というのも、機械学習勉強会の参加者で「プログラミング自体を教えて欲しい」という方が多くいて、それならソフト…