この記事は機械翻訳のミラー記事です。元の記事にジャンプするにはこちらをクリックしてください。

眺める: 26139|答える: 0

[出典] [練習] Linuxサーバー上でJavaアプリケーションを実行して電話が切れる問題のトラブルシューティング

[リンクをコピー]
掲載地 2021/09/09 10:52:50 | | | |
朝に開発環境のウェブサイトを開くと、メニューリストのデータが読み込まれず、確かにインターフェースに問題があることがわかります。

サーバーにログインしてJavaアプリケーションを閲覧してください出力ファイルとログファイルのリダイレクト、最後のログ時間は21:15で維持され、下図に示されています。



システムのログを確認してください

9月8日 21:30:05 centos7-dev04 カーネル:メモリ切れ:プロセス32452(java)スコア84または子供を犠牲にしてください
9月8日 21:30:05 centos7-dev04 カーネル: Killed process 32452 (java), UID 0, total-vm:7016412kB, anon-rss:1421400kB, file-rss:0kB, shmem-rss:0kB



もしアプリケーションがLinuxによって終了したと疑われる場合は、以下のコマンドを使って迅速にトラブルシューティングを行うこともできます:



メモリ使用量を確認するコマンドは以下の通りです:



通るトップコマンド、そしてタイプMをキーは、プロセスが使用するメモリに基づいてソートされており、以下の図に示されています。

PID:プロセスのID(プロセスの識別)です
ユーザー:プロセスの所有者
PR:プロセスの優先度が小さいほど、実行される優先度が高くなります
ナイス:価値
VIRT:プロセスが占有する仮想メモリ
RES:プロセスが占有する物理的メモリ
SHR:プロセスで使用される共有メモリ
S: プロセスの現状についてです。 Sは休眠状態、Rは実行中、Zはデッドロック、Nはプロセス優先度値が負であることを示します
%CPU:プロセスで使用されるCPUの使用率
%MEM:プロセスが物理メモリと総メモリを使用する割合
TIME+:プロセス開始後に消費する総CPU時間、すなわちCPU使用時間の累積値。
COMMAND:プロセス起動コマンドの名前



アプリケーションが停止した理由は、サーバーのメモリ不足が原因であり、Linuxがいくつかのルールに従って自動的にJavaアプリケーションを終了させたからです。結局のところ、Javaアプリケーションは非常に多くのメモリを占有しているからです。

以下のコマンドを使って、どのJavaアプリケーションが特定のかを確認できます:



解決

1. サーバーメモリの増加
2. Javaアプリケーションでのメモリ使用を制限する
3. 一部のJavaアプリケーションを他のサーバーに移行する





先の:Docker における Linux オーバーレイファイルシステム
次に:Dockerイメージレイヤーの解析には2つのツールが推奨されています
免責事項:
Code Farmer Networkが発行するすべてのソフトウェア、プログラミング資料、記事は学習および研究目的のみを目的としています。 上記の内容は商業的または違法な目的で使用されてはならず、そうでなければ利用者はすべての結果を負うことになります。 このサイトの情報はインターネットからのものであり、著作権紛争はこのサイトとは関係ありません。 ダウンロード後24時間以内に上記の内容を完全にパソコンから削除してください。 もしこのプログラムを気に入ったら、正規のソフトウェアを支持し、登録を購入し、より良い本物のサービスを受けてください。 もし侵害があれば、メールでご連絡ください。

Mail To:help@itsvse.com