Linuxで(SunのJDKを使用して)実行するJavaアプリケーション)を作成しています。/tmp/hsperfdata_username
ディレクトリを作成し続けています。 Javaこれらのファイルの作成から?
JVMオプションを使用します-XX:-UsePerfData
。
他のいくつかの答えが言うように、これはパフォーマンスに悪影響を与えません。
デフォルトでは、jvmstatインスツルメンテーションはHotSpot JVMでオンになっています。 JVMオプション-XX:-UsePerfData
はオフにします。どちらかといえば、計装をオフにするとパフォーマンスが向上する(ごくわずかな量)と推測します。
そのため、jvmstatインスツルメンテーションをオフにすると、パフォーマンスモニタリング情報が失われるという欠点があります。
ここでjvmstatについて説明します http://Java.Sun.com/performance/jvmstat/
これは、onjvmstat-オプション-XX:+UsePerfData
-パフォーマンスが低下します。 http://www.theserverside.com/discussions/thread.tss?thread_id=338
(jvmstatは「常にオン」になるように設計されているため、パフォーマンスへの影響はほとんどありません)。
スイッチをオフにするのではなく、Java.io.tmpdirの場所を変更します。 -Djava.io.tmpdir =/mydir/somewhere/else /をJava起動コマンドに追加すると、ファイルは制御する場所になります。
@simoncによるコメントに注意してください。これは、JVMのいくつかのバージョンでのみ機能し、サポートされなくなりました。 http://bugs.Sun.com/view_bug.do?bug_id=6447182 、 http://bugs.Sun.com/view_bug.do?bug_id=6938627 を参照してください、 http://bugs.Sun.com/view_bug.do?bug_id=7009828 を参照してください。
Mackの返信(11年3月25日17時12分に回答)の補遺として、オプションJava.tmp.dirはJava 8以降利用できなくなっています。 https:の情報を参照してください。 //bugs.Java.com/view_bug.do?bug_id=8189674
したがって、-XX:-UsePerfDataを使用してオプションを無効にすることは、hsperfdata_ *ファイルを持たない唯一のオプションのようです。
"-XX:+PerfDisableSharedMem"
オプション(Sunが推奨)もあり、"-XX:-UsePerfData"
オプションを使用した場合よりもパフォーマンスの問題が少なくなります。
Svristのリンクから:
http://Java.Sun.com/performance/jvmstat/faq.html の最初の項目には、機能のスイート全体を無効にするためにオフにできるオプション-XX:-UsePerfDataが記載されています。
提出されたバグレポート によると、回避策があります:
この文書化されていないオプションは、perfdata機能を無効にします。
-XX:-UsePerfData
ただし、これは機能であり、バグではないことに言及する価値があります。上記の回避策は単に機能を無効にします。