GNU/Linux >> Linux の 問題 >  >> Linux

Linux –特定のWebサイトを閲覧しているときにLinuxが数分間応答しなくなる原因は何ですか?

Linux 4.15を使用していますが、Google、Facebook、またはその他のリソースを大量に消費するWebサイトを閲覧すると、OS全体が応答しなくなり、フリーズして役に立たなくなります。私がそれが機能していると思うのは、ディスク(ext4としてフォーマットされたメインシステムパーティション)だけです。これは大量に使用されています(I / Oスロットリング)。

膨張を取り除くために1分以上待たなければならず、 12の間応答しないままになることがあります。 分、それ故に私はイライラします。 OSがマルチタスクを適切に処理できないという事実は、絶対に奇妙で容認できない動作を反映する傾向があります。

これはFirefoxだけでなく、 any でも発生します javascript-Microsoft VSCodeまたはangular-cli( ng serveを含むインタープリターアプリケーション コマンド)、およびその他のリソースを大量に消費する実行スレッド(非常に複雑なUML図から非常に大きなグラフを生成する場合の、plantumlの場合など)。

今日、OSは、外付けHDD(ext4パーティション上)用のデータ回復ソフトウェアを起動した後、完全に管理できなくなりました。このソフトウェアは、最近、不良USBポートから少し動かして外されました。

このようなバグのある動作の背後にある根本的な原因を特定することはできません

ブラウザで多くのタブを開いており、 df によるOSパーティションの使用率は94%です。 出力:

  Filesystem 1K-blocks Used Available Use%Mounted onudev 3964160 0 3964160 0%/ devtmpfs 798164 3192 794972 1%/ run / dev / sda5 173466400 153224316 11407424 94%/ tmpfs 3990820 62936 3927884 2%/ dev / shmtmpfs 5120 4 5116 1%/ run / locktmpfs 3990820 0 3990820 0%/ sys / fs / cgroup / dev / loop5 128128 0100%/ snap / anbox-installer / 24 / dev / loop2 128128 0100%/ snap / anbox -installer / 17 / dev / loop4 223616 223616 0100%/ snap / kde-frameworks-5/26 / dev / loop3 90624 90624 0100%/ snap / core / 7169 / dev / loop7 223616 223616 0100%/ snap / kde-frameworks-5/25 / dev / loop8 90624 90624 0100%/ snap / core / 7270 / dev / loop0 87552 87552 0100%/ snap / qownnotes / 2160 / dev / loop1 241664 241664 0100%/ snap / kde -frameworks-5 / 27tmpfs 798164 0 798164 0%/ run / user / 0tmpfs 798164 32 798132 1%/ run / user / 1000 / dev / loop9 87552 87552 0100%/ snap / qownnotes / 2176 / dev / sda3 188669948 187132488 1537460 100%/ media / kais / DATA / dev / sdb1 15142960 2091904 13051056 14%/ media / kais / STORE N GO  

ハードウェアとして、私は以下を使用しています:

  1. lscpuによるIntelCorei3 v2348M :

     アーキテクチャ:x86_64CPU op-mode(s):32ビット、64bitByte順序:Little Endianアドレスサイズ:物理36ビット、仮想CPU 48ビット:4オンラインCPUリスト:0 -3コアあたりのスレッド数:2ソケットあたりのコア数:2ソケット数:1NUMAノード:1ベンダーID:正規のIntelCPUファミリー:6モデル:42モデル名:Intel(R)Core(TM)i3-2348M CPU @ 2.30GHzステッピング:7CPU MHz:905.312CPU最大MHz:2300.0000CPU最小MHz:800.0000BogoMIPS:4589.49仮想化:VT-xL1dキャッシュ:32KL1iキャッシュ:32KL2キャッシュ:256KL3キャッシュ:3072KNUMA node0 CPU:0-3フラグ:fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe syscall nx rdtscp lm constant_tsc arch_perfmon pebs bts rep_good nopl xtopology nonstop _cpl vmx est tm2 ssse3 cx16 xtpr pdcm pcid sse4_1 sse4_2 x2apic popcnt tsc_deadline_timer xsave avx lahf_lm epb pti tpr_shadow vnmi flexpriority ept vpid xsaveopt dtherm arat pln pts  
  2. 8GBのRAM。 ( htopを参照してください 以下の出力)。

  3. 99.83MHzのメインボードバス速度
  4. 500 GB内蔵HDD–これはS.M.A.R.Tです。
    オペレーティングシステムからのレポート:

      smartctl 6.6 2017-11-05 r4594 [x86_64-linux-4.15.0-33-generic](ローカルビルド)Copyright(C)2002-17、Bruce Allen、Christian Franke、www.smartmontools.org ===情報セクションの開始===モデルファミリ:Western Digital Blue MobileDeviceモデル:WDC WD5000LPVX-22V0TT0シリアル番号:WD-WXE1E13AAMR4LU WWNデバイスID:5 0014ee 25db04ba7ファームウェアバージョン:01.01A01ユーザー容量:500,107,862,016バイト[500 GB]セクターサイズ:論理512バイト、物理4096バイト回転速度:5400 rpmデバイス:smartctlデータベース[詳細使用:-P show] ATAバージョン:ACS-2(マイナーリビジョンは表示されていません)SATAバージョン:SATA 3.0、6.0 Gb / s(現在:6.0 Gb / s)現地時間:水8月7日15:52:05 2019 CETSMARTサポート:利用可能-デバイスにはSMART機能があります。SMARTサポートは:有効===スマートデータセクションの読み取り開始===SMART全体-ヘルスセルフアセスメントテスト結果:PASSEDGeneral SMART値:オフラインデータ収集ステータス:(0x00)オフラインデータ収集アクティビティyは開始されませんでした。自動オフラインデータ収集:無効セルフテスト実行ステータス:(0)以前のセルフテストルーチンがエラーなしで完了したか、セルフテストが実行されたことはありませんオフラインデータ収集を完了するまでの合計時間:(8040)秒オフラインデータcollectioncapabilities:(0x7b)SMARTはオフラインで即時実行します。自動オフラインデータ収集のオン/オフのサポート。新しいコマンドでオフライン収集を一時停止します。オフラインサーフェススキャンがサポートされています。セルフテストがサポートされています。搬送セルフテストがサポートされています。選択的セルフテストがサポートされています。SMART機能:(0x0003)省電力モードに入る前にSMARTデータを保存します。 SMART自動保存タイマーをサポートします。エラーログ機能:(0x01)エラーログがサポートされます。汎用ロギングがサポートされています。短いセルフテストルーチンの推奨ポーリング時間:(2)分。延長されたセルフテストルーチンの推奨ポーリング時間:(93)分。搬送セルフテストルーチンの推奨ポーリング時間:(5)分。SCT機能:(0x7035 )サポートされるSCTステータス。 SCT機能制御がサポートされています。 SCTデータテーブルがサポートされています。SMART属性データ構造リビジョン番号:16しきい値付きベンダー固有のSMART属性:ID#ATTRIBUTE_NAMEフラグ値最悪のしきい値タイプ更新されたWHEN_FAILED RAW_VALUE 1 Raw_Read_Error_Rate 0x002f 200200051事前失敗常に-13 Spin_Up_Time 0x0027 149 143 021常に失敗-15414Start_Stop_Count 0x0032 057 057000Old_age常に-431735Reallocated_Sector_Ct0x0033200200140事前失敗常に-07Seek_Error_Rate 0x002e 200200000Old_age常に-09Power_On_Hours 0x0032 083 083000Old_age常に-1279710Spin_Re 100 000 Old_age Always-0 11 Calibration_Retry_Count 0x0032 100 100 000 Old_age Always-0 12 Power_Cycle_Count 0x0032 091 091 000 Old_age常に-9496191G-Sense_Error_Rate0x0032 001 001000Old_age常に-250192Power-Off_Retract_Count0x0032 200200000Old_age常に-399193Load_Cycle_Count0x0032 147147000Old_age常に-160989194Temperature_Celsius0x0022 101 092000Old_age常に-42196 --0197 Current_Pending_Sector 0x0032 200 200000Old_age常に-0198Offline_Uncorrectable0x0030 100 253000Old_ageオフライン-0199UDM​​A_CRC_Error_Count0x0032 200 200000Old_age常に-0200Multi_Zone_Error_Rate0x0008 100 253 000Old_ageオフライン-0SMARTエラーログバージョン:1リビジョン番号1セルフテストは記録されていません。 [セルフテストを実行するには、次を使用します。smartctl-t]SMART選択的セルフテストログデータ構造リビジョン番号1SPANMIN_LBA MAX_LBA CURRENT_TEST_STATUS 1 0 0 Not_testing 2 0 0 Not_testing 3 0 0 Not_testing 4 0 0 Not_testing 5 0 0 Not_testingSelective self-テストフラグ(0x0):選択したスパンをスキャンした後、ディスクの残りの部分を読み取りスキャンしないでください。電源投入時に選択的セルフテストが保留中の場合は、0分遅れて再開します。 

これらは、 htopごとのリソース使用量の結果です。 :

  1 [||||| 14.1%]タスク:286、1497 thr; 2実行中2[||||| 13.2%]負荷平均:3.00 4.97 6.09 3 [||||| 12.5%]稼働時間:3日、16:12:35 4 [||| 9.3%] Mem [||||||||||||||||||| 5.09G / 7.61G] Swp [|||||||||||||||||| | 3.68G /4.65G]PIDユーザーPRINIVIRT RES SHR S CPU%MEM%TIME+コマンド7006jvb 20 0 6640M 102M 6780 S 5.3 1.3 18:53.18 java -Xmx3072m -X 8224 kais 20 0 4537M 771M 200M S 6.6 9.9 2h31 :23 / usr / lib / firefox / 2299 kais 20 0 2958M 184M 42912 S 5.3 2.4 13:54.41 / usr / lib / firefox / 1216 root 20 0 519M 120M 94640 S 5.3 1.5 1h52:50 / usr / lib / xorg / Xor28401 kais 20 0 3354M 584M 107M S 7.9 7.5 34:44.51 / usr / lib / firefox / 8439 kais 20 0 4537M 771M 200M S 4.6 9.9 37:06.21 / usr / lib / firefox / 8831 kais 20 0 3222M 351M 64828 R 4.0 4.5 11 :19.87 / usr / lib / firefox / 7025 jvb 20 0 6640M 102M 6780 S 0.0 1.3 0:18.34 java -Xmx3072m -X 7027 jvb 20 0 6640M 102M 6780 S 0.0 1.3 0:18.05 java -Xmx3072m -X 5901 kais 20 0 7492 5612 2904 R 4.0 0.1 0:00.66 htop 5329 kais 20 0 547M 47456 38388 S 1.3 0.6 0:01.29 / usr / lib / gnome- te13540 kais 20 0 2958M 184M 42912 S 2.0 2.4 0:06.25 / usr / lib / firefox / 16897 kais 20 0 904M 28292 18076 S 2.0 0.4 50:08.37 pavucontrol17999 kais 20 0 2424M 29460 25380 S 1.3 0.4 52:41.73 / usr / bin /pulseaudF1ヘルプF2セットアップF3検索F4フィルターF5ツリーF6ソートバイF7ニース-F8ニース+F9キルF10終了 

これらは、コマンド vmstat 5によって生成されたVM統計の結果でもあります。 。

AFAIK、ブロートウェアによってOSが応答しなくなることはないはずです。したがって、OSのジョブはプロセスを分離し、マルチタスクを確実にするため、ブロートウェアが問題の根本的な原因であるとは考えたり、受け入れたりしません。

関連:デュアルブート可能マシンのWindowsからLinux用のディスクスペースを追加しますか?

この問題がOS固有の問題なのか、ハードウェア固有の問題なのか、構成固有の問題なのかわかりません。

何かアイデアはありますか?

承認された回答:

Linuxの応答性が低下する原因は何ですか?

大量のスワッピングを引き起こす利用可能なRAMをオーバーコミットすると、間違いなくこれを行うことができます。メカニカルHDDのランダムアクセスI/Oには、読み取り/書き込みヘッドを移動する必要があることに注意してください。これは、1秒あたり約100シークしか実行できません。

RAMを「多すぎる」とオーバーコミットすると、Linuxは完全に昼食に出かけるのが普通です。スピニーディスクと8GBのRAMもあります。メモリリークのあるソフトウェアのいくつかで問題が発生しました。つまりそれらのメモリ使用量は時間の経過とともに増加し続け、決して減少しないため、それを制御する唯一の方法は、ソフトウェアを停止してから再起動することでした。この間に私が経験したことによると、3GB以上のスワップを生成している場合、10分以上の遅延を聞いてもそれほど驚くことではありません。

関連:Linux –特定の行にsedコマンドを使用していますか?

3 GBを超えるスワップがある場合、必ずしもこれが表示されるとは限りません。理論によれば、重要な概念はスラッシングです。一方、2つの異なる作業セットを切り替えようとしていて、3GBのインとアウトを交換する必要がある場合、100MB /秒では、I / Oパターンを完全に最適化できたとしても、少なくとも60秒かかります。実際には、I/Oパターンは最適とはほど遠いものになります。

これで苦労した後、スワップスペースを2GB(以前の数分の1)に再フォーマットしたため、システムはそれほど深くスワップできなくなりました。 mkswap であるため、パーティションのサイズ変更をいじることなく、これを行うことができます。 オプションのサイズパラメータを取ります。

大まかなバランスは、メモリが不足してプロセスが強制終了されることと、システムが長時間ハングして、とにかくあきらめて再起動することです。 4GBのスワップパーティションが大きすぎるかどうかはわかりません。それはあなたがしていることに依存するかもしれません。重要なことは、ディスクがいつ回転し始めるかを監視し、メモリ使用量を確認し、それに応じて対応することです。

マルチプロセスアプリケーションのメモリ使用量を確認することは困難です。共有メモリを二重にカウントせずにプロセスごとのメモリ使用量を確認するには、 sudo atop -Rを使用できます。 、 Mを押します およびm 、およびPSIZE列を確認します。 smemを使用することもできます 。 smem -t -P firefox すべてのFirefoxプロセスのPSSが表示され、その後に合計PSSの行が表示されます。これは、FirefoxまたはChromeベースのブラウザの合計メモリ使用量を測定するための正しいアプローチです。 (ただし、メモリ使用量を表示するためのブラウザ固有の機能もあり、個々のタブが表示されます。)


Linux
  1. Bonnie++ でバーンインするためのライブ Linux CD?

  2. Linux用のOSXのpbcopyのようなもの

  3. Linuxを分割する最も安全な方法は?

  1. Linux用のお気に入りの画面記録ツールは何ですか?

  2. 特定の Web サイトを閲覧しているときに、Linux が数分間応答しなくなる原因は何ですか?

  3. Linux - ディスク IO を待っているものを確認するにはどうすればよいですか

  1. シェルドットファイルでできること

  2. Linuxとは何ですか?非技術ユーザー向けガイド

  3. Linux –「makeLocalmodconfig」は何をしますか?