タグ

ブックマーク / qiita.com/tamura__246 (2)

  • 標準出力もプログラムの動作を致命的に変えるという話 - Qiita

    正常に動作しないスクリプトやプログラムに標準出力処理(echoやSystem.out.print()など)を追加して、デバッグした経験は誰にでもあるのではないでしょうか。標準出力処理の追加は、簡単なプログラムの動作検証から制限などによりデバッガーを使用できない環境での調査まで、いろいろな場面で活用されていると思います。 しかし、1行の標準出力処理の追加でもプログラムの動作を致命的に変える可能性はあります。 過去に、echoが原因でバッチが停止した問題の対策のために、JavaのプログラムにSystem.out.println(・・・);の1行を追加した結果、アプリケーションが応答を返せなくなったことがありました。その時の記憶を、サンプルプログラムを交えながら説明したいと思います。 年次バッチが停止した! 10年ほど前のある日、あるシステムの保守を担当していた私のもとに「年次バッチが停止してし

    標準出力もプログラムの動作を致命的に変えるという話 - Qiita
  • Javaプロセスの中でCPUを浪費しているスレッドを特定する - Qiita

    概要 Javaプロセスの中でCPUを浪費しているスレッドを特定する方法を紹介します。Linuxだけでなく、Windowsでの方法も載せています。 前提条件 JDKがインストールされていること Linuxの場合 まずは、Linuxでの方法です。これと同じことがWindowsでも、できればいいわけです(後述します)。 (1) jpsコマンドで対象のJavaプロセスのIDを特定する $ top -n 1 -H -p 25800 top - 21:29:39 up 23:36, 3 users, load average: 1.66, 0.97, 0.52 Tasks: 31 total, 1 running, 30 sleeping, 0 stopped, 0 zombie Cpu(s): 2.9%us, 0.8%sy, 0.0%ni, 96.2%id, 0.1%wa, 0.0%hi, 0.0%

    Javaプロセスの中でCPUを浪費しているスレッドを特定する - Qiita
  • 1