Spring BootによるAPIバックエンド構築実践ガイド 第2版 何千人もの開発者が、InfoQのミニブック「Practical Guide to Building an API Back End with Spring Boot」から、Spring Bootを使ったREST API構築の基礎を学んだ。この本では、出版時に新しくリリースされたバージョンである Spring Boot 2 を使用している。しかし、Spring Boot3が最近リリースされ、重要な変...
GCを適切に行わせるためのヒープサイズの設定 JVMにGCを適切に行わせるにはヒープサイズを適切に設定(New領域サイズ、Old領域サイズ、領域サイズのバランスなど)する必要があります。当然、適切なヒープサイズはアプリケーションに依存します。一般にヒープサイズが小さいとGCが頻発してアプリケーションのパフォーマンスが低下します。さらに、ヒープサイズが必要量を下回る場合はOutOfMemoryErrorが発生してアプリケーションが停止してしまいます。一方、ヒープサイズが大きいと、GCの起動回数は減りますが、GC1回当たりの処理時間、すなわちアプリケーション停止状態が長くなり、アプリケーションの応答時間に問題が出る場合もあります。システムの物理メモリのフリー領域が不足するまでヒープサイズを大きくすると、物理メモリからスワップ領域へのページングが起こってしまい、かなりのパフォーマンスが劣化する可
@ITより。 Javaのメモリ消費量について調査する際にWindowsのタスクマネージャでJava VMの使用しているメモリ量を 見ても駄目だという話。 メモリリークの調査だとか、使用する資源量の調査だとか、いろいろな理由があってメモリ消費量を 計測したいという話はあちこちで見かけます。ことJavaの場合、メモリはOSから直接供給されるのではなく VMが間に入って管理を行うためOSからプロセスの消費しているメモリ量を見ても実態がつかめないことを まず理解せねばなりません。 オブジェクトがGCされてもメモリ消費量が減らない!と騒ぐ前に JavaのVMはメモリが必要になったときにその都度OSにメモリを供給してもらうわけではありません。 ある程度まとまった量のメモリをOSから貰い、それをプールとして、オブジェクトがnewされるたびに分割して供給するわけです。 そして、オブジェクトの参照がなくなっ
以前 id:Kazzz さんも書かれてましたが,確かにこれはもっともな話だと思います. それほど神経質になる必要は無いのかもしれません、がしかしアプリケーションを実際に使うユーザである程度PCの知識があるユーザは、タスクマネジャで見た時に保持するメモリが多いと見るとこれを非常に嫌悪する傾向にあります。従ってワーキングセットを多く設定する場合はきちんとその理由を説明できないと問題になることがあるので疎かにはできないのです。 問題は,「ある程度PCの知識はあるが Windowsの仮想メモリ機構に関する十分な知識はないユーザ(及び開発者)」が,タスクマネージャに表示される「メモリ使用量」に過剰反応してしまうという事案にどう対処するか,というところにあります. 1つの無難な方法としては,デフォルトの動作は Conservative にし,Progressive な動作は上級ユーザを対象に Opt-
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く