GNU/Linux >> Belajar Linux >  >> Linux

Linux – Apa yang Dapat Membuat Linux Tidak Responsif Selama Beberapa Menit Saat Menjelajahi Situs Web Tertentu?

Saya menggunakan Linux 4.15, dan ini sering terjadi pada saya ketika saya menelusuri Google, Facebook, atau situs web lain yang haus sumber daya – Seluruh OS menjadi tidak responsif, beku, dan tidak berguna. Satu-satunya hal yang saya lihat berfungsi adalah disk (partisi sistem utama diformat sebagai ext4), yang digunakan secara besar-besaran (pelambatan I/O).

Saya dipaksa menunggu satu menit atau lebih untuk menghilangkan kembung, terkadang tetap tidak responsif selama dua belas menit, dan karenanya saya frustrasi. Fakta bahwa OS tidak mampu menangani multitasking dengan baik, cenderung mencerminkan perilaku yang benar-benar aneh dan tidak dapat diterima.

Ini tidak hanya terjadi dengan Firefox, tetapi dengan apa saja aplikasi javascript-interpreter termasuk Microsoft VSCode atau angular-cli (ng serve command) serta rangkaian eksekusi yang membutuhkan sumber daya lainnya – seperti kasus plantuml saat membuat grafik yang sangat besar dari diagram UML yang sangat kompleks.

Hari ini, OS menjadi benar-benar tidak dapat dikelola, setelah meluncurkan perangkat lunak pemulihan data untuk HDD eksternal (melalui partisi ext4) yang akhir-akhir ini dicabut dari port USB yang buruk dengan sedikit gerakan.

Saya tidak dapat memberi tahu akar penyebab di balik perilaku buggy seperti itu

Saya memiliki banyak tab yang dibuka di browser, dan 94% penggunaan partisi OS sesuai df keluaran:

Sistem file 1K-blok Digunakan Tersedia Penggunaan% Dipasang 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 128 128 0 100% /snap/anbox-installer/24/dev/loop2 128 128 0 100% /snap/anbox -installer/17/dev/loop4 223616 223616 0 100% /snap/kde-frameworks-5/26/dev/loop3 90624 90624 0 100% /snap/core/7169/dev/loop7 223616 223616 0 100% /snap/ kde-frameworks-5/25/dev/loop8 90624 90624 0 100% /snap/core/7270/dev/loop0 87552 87552 0 100% /snap/qownnotes/2160/dev/loop1 241664 241664 0 100% /snap/kde -framework-5/27tmpfs 798164 0 798164 0% /run/user/0tmpfs 798164 32 798132 1% /run/user/1000/dev/loop9 87552 87552 0 100% /snap/qownnotes/2176/dev/sda3 188669948 187132488 1537460 100% /media/kais /DATA/dev/sdb1 15142960 2091904 13051056 14% /media/kais/STORE N GO 

Sebagai perangkat keras, saya menggunakan:

  1. Intel Core i3 v2348M sesuai lscpu :

    Arsitektur:x86_64CPU op-mode:32-bit, 64-bitByte Urutan:Little EndianUkuran alamat:fisik 36 bit, virtualCPU 48 bit:4Daftar CPU online:0 -3Thread per core:2Core per socket:2Socket:1NUMA node:1Vendor ID:Keluarga GenuineIntelCPU:6Model:42Nama model:Intel(R) Core(TM) i3-2348M CPU @ 2.30GHzMelangkah:7CPU MHz:905.312CPU maks MHz:2300.0000CPU min MHz:800.0000BogoMIPS:4589.49Virtualisasi:VT-xL1d cache:32KL1i cache:32KL2 cache:256KL3 cache:3072KNUMA node0 CPU(s):0-3Flags:fpu vme de pdse 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 monitor nonstop_perfmon pebs bts _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 pldtherm arat 
  2. RAM 8GB. (Lihat htop keluaran di bawah).

  3. Kecepatan bus mainboard 99,83 MHz
  4. HDD internal 500 GB – Ini adalah S.M.A.R.T. laporan dari
    sistem operasi:

    smartctl 6.6 2017-11-05 r4594 [x86_64-linux-4.15.0-33-generic] (buatan lokal)Hak Cipta (C) 2002-17, Bruce Allen, Christian Franke, www.smartmontools.org ===MULAI BAGIAN INFORMASI ===Kelompok Model:Western Digital Blue MobileModel Perangkat:WDC WD5000LPVX-22V0TT0Nomor Seri:WD-WXE1E13AAMR4LU WWN Id Perangkat:5 0014ee 25db04ba7Versi Firmware:01.01A01Kapasitas Pengguna:500.107.862,016 byte 512 byte logis, 4096 byte fisik Kecepatan Rotasi:5400 rpmPerangkat:Dalam database smartctl [untuk detail gunakan:-P show]Versi ATA adalah:ACS-2 (revisi kecil tidak ditunjukkan)Versi SATA adalah:SATA 3.0, 6.0 Gb/s ( saat ini:6.0 Gb/s)Waktu Setempat adalah:Rab 7 Agustus 15:52:05 2019 dukungan CETSMART:Tersedia - perangkat memiliki kemampuan SMART. Dukungan SMART adalah:Diaktifkan===MULAI BACA BAGIAN DATA SMART ===SMART secara keseluruhan -Hasil tes penilaian mandiri kesehatan:LULUS Nilai Umum SMART:Status pendataan offline:(0x00) Kegiatan pendataan offline y tidak pernah dimulai. Pengumpulan Data Offline Otomatis:Dinonaktifkan.Status eksekusi swauji:( 0) Rutin swauji sebelumnya diselesaikan tanpa kesalahan atau tidak ada uji mandiri yang pernah dijalankan.Total waktu untuk menyelesaikan pengumpulan data Offline:(8040) detik.Data offline collectioncapabilities:(0x7b) SMART mengeksekusi Offline segera. Dukungan aktif/nonaktif pengumpulan data Offline Otomatis. Tangguhkan koleksi Offline pada perintah baru. Pemindaian permukaan offline didukung. Tes mandiri didukung. Penyampaian Self-test didukung. Selektif Self-test didukung.Kemampuan SMART:(0x0003) Menyimpan data SMART sebelum memasuki mode hemat daya. Mendukung penghitung waktu penyimpanan otomatis SMART. Kemampuan pencatatan kesalahan:(0x01) Pencatatan kesalahan didukung. Pencatatan Tujuan Umum didukung.Pemeriksaan mandiri yang singkat waktu pemungutan suara yang direkomendasikan:(2) menit. Rutin pengujian mandiri yang diperpanjang waktu pemungutan suara yang direkomendasikan:( 93) menit. Rutinitas uji mandiri penyampaian waktu pemungutan suara yang disarankan:(5) menit.Kemampuan SCT:(0x7035 ) Status SCT didukung. Kontrol Fitur SCT didukung. Tabel Data SCT didukung. Atribut SMART Nomor revisi Struktur Data:16 Atribut SMART Spesifik Vendor dengan Ambang:ID# ATTRIBUTE_NAME FLAG NILAI BENDERA TERBURUK JENIS THRESH TERBURUK DIPERBARUI WHEN_FAILED RAW_VALUE 1 Raw_Read_Error_Rate 0x002f 200 Selalu 200 051 Sebelum-Waktu gagal Selalu - 1541 4 Start_Stop_Count 0x0032 057 057 000 Old_age Selalu - 43173 5 Realokasi_Sector_Ct 0x0033 200 200 140 Pra-gagal Selalu - 0 7 Seek_Error_Rate 0x002e 200 200 000 Old_age Selalu - 0 9 Power_On_Hours 0x0032_10010_Error_Rate 0x002e 200 200 000 Old_age Selalu - 0 9 Power_On_Hours 0x0032_ 100x0032_Spin 083 000 Lama 100 000 Old_age Selalu - 0 11 Calibration_Retry_Count 0x0032 100 100 000 Old_age Selalu - 0 12 Power_Cycle_Count 0x0032 091 091 000 Old_age Selalu - 9496191 G-Sense_Error_Rate 0x0032 001 001 000 Old_age Selalu - 250192 Power-Off_Retract_Count 0x0032 200 200 000 Old_age Selalu - 399193 Load_Cycle_Count 0x0032 147 147 000 Old_age Selalu - 160989194 Temperatur_Celsius Nyata 092_ 00022_Celsius 0x0022_Celsius Nyata 0x0022_lama 0x0022 - 0197 Current_Pending_Sector 0x0032 200 200 000 Old_age Selalu - 0198 Offline_Uncorrectable 0x0030 100 253 000 Old_age Offline - 0199 UDMA_CRC_Error_Count 0x0032 200 200 000 Old_age Selalu - 0200 Multi_Zone_Error_Rate 0x0008 Self-test Log Versi Lama - 0SMART_ 100 253 000 Log Lama Tercatat nomor revisi 1Tidak ada tes mandiri yang dicatat. [Untuk menjalankan swa-uji, gunakan:smartctl -t]SMART Selektif tes-sendiri log struktur data nomor revisi 1 SPAN MIN_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- tanda uji (0x0):Setelah memindai rentang yang dipilih, JANGAN baca-pindai sisa disk. Jika Uji mandiri selektif tertunda saat penyalaan, lanjutkan setelah penundaan 0 menit. 

Ini adalah hasil penggunaan resource per htop :

 1 [|||| 14,1%] Tugas:286, 1497 thr; 2 lari 2 [|||| 13,2%] Rata-rata beban:3,00 4,97 6,09 3 [||||| 12,5%] Waktu Aktif:3 hari, 16:12:35 4 [||| 9,3%] Mem[||||||||||||||||||5.09G/7.61G] Swp[||||||||||||||||| |3.68G/4.65G] PID PENGGUNA PRI NI VIRT RES SHR S CPU% MEM% TIME+ Command 7006 jvb 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 Help F2 Setup F3 Search F4 Filter F5 Tree F6 SortBy F7 Nice - F8 Nice + F9 Kill F10 Quit 

Itu adalah hasil statistik VM juga, yang dihasilkan oleh perintah vmstat 5 .

AFAIK, bloatware seharusnya tidak membuat OS tidak responsif, jadi saya tidak akan mempertimbangkan atau bahkan menerima bahwa bloatware adalah akar penyebab masalah – karena tugas OS mengisolasi proses dan memastikan multitasking.

Terkait:Tambahkan lebih banyak ruang disk untuk linux dari windows di mesin yang dapat di-boot ganda?

Saya tidak tahu apakah masalah ini khusus untuk OS, khusus perangkat keras, atau khusus konfigurasi.

Ada ide?

Jawaban yang Diterima:

Apa yang membuat Linux begitu tidak responsif?

Overcommitting RAM yang tersedia, yang menyebabkan sejumlah besar swapping, pasti bisa melakukan ini. Ingatlah bahwa akses acak I/O pada HDD mekanis Anda memerlukan pemindahan kepala baca/tulis, yang hanya dapat melakukan sekitar 100 pencarian per detik.

Itu biasa bagi Linux untuk benar-benar keluar untuk makan siang, jika Anda terlalu memaksakan RAM "terlalu banyak". Saya juga memiliki disk spinny dan RAM 8GB. Saya memiliki masalah dengan beberapa perangkat lunak dengan kebocoran memori. Yaitu. penggunaan memori mereka terus bertambah dari waktu ke waktu dan tidak pernah menyusut, jadi satu-satunya cara untuk mengendalikannya adalah dengan menghentikan perangkat lunak dan kemudian memulai kembali. Berdasarkan pengalaman yang saya miliki selama ini, saya tidak terlalu terkejut mendengar penundaan lebih dari sepuluh menit, jika Anda menghasilkan 3GB+ swap.

Terkait:Linux – Menggunakan perintah sed untuk baris tertentu?

Anda tidak akan selalu melihat ini dalam semua kasus di mana Anda memiliki lebih dari 3GB swap. Teori mengatakan konsep kuncinya adalah meronta-ronta. Di sisi lain, jika Anda mencoba untuk beralih di antara dua set kerja yang berbeda, dan memerlukan pertukaran 3GB masuk dan keluar, pada 100MB/s akan memakan waktu setidaknya 60 detik bahkan jika pola I/O dapat dioptimalkan dengan sempurna. Dalam praktiknya, pola I/O akan jauh dari optimal.

Setelah kesulitan yang saya alami dengan ini, saya memformat ulang ruang swap saya menjadi 2GB (beberapa kali lebih kecil dari sebelumnya), sehingga sistem tidak akan dapat menukar terlalu dalam. Anda dapat melakukan ini bahkan tanpa mengubah ukuran partisi, karena mkswap mengambil parameter ukuran opsional.

Keseimbangan kasarnya adalah antara kehabisan memori dan proses terhenti, dan membuat sistem hang begitu lama sehingga Anda menyerah dan tetap melakukan boot ulang. Saya tidak tahu apakah partisi swap 4GB terlalu besar; itu mungkin tergantung apa yang Anda lakukan. Yang penting adalah berhati-hati ketika disk mulai berputar, periksa penggunaan memori Anda, dan tanggapi dengan tepat.

Memeriksa penggunaan memori aplikasi multi-proses itu sulit. Untuk melihat penggunaan memori per-proses tanpa menghitung ulang memori bersama, Anda dapat menggunakan sudo di atas -R , tekan M dan m , dan lihat di kolom PSIZE. Anda juga dapat menggunakan smem . smem -t -P firefox akan menampilkan PSS dari semua proses firefox Anda, diikuti dengan baris dengan total PSS. Ini adalah pendekatan yang benar untuk mengukur penggunaan memori total browser berbasis Firefox atau Chrome. (Meskipun ada juga fitur khusus browser untuk menampilkan penggunaan memori, yang akan menampilkan tab individual).


Linux
  1. Apa distribusi Linux terbaik untuk pemula?

  2. Apa alat perekam layar favorit Anda untuk Linux?

  3. Apa yang Anda lakukan ketika aplikasi tidak dikemas untuk distro Linux Anda?

  1. Apa yang harus dilakukan ketika Ctrl + C tidak dapat menghentikan proses?

  2. Untuk apa Linux test -a command test?

  3. Apa yang bisa membuat Linux tidak responsif selama beberapa menit saat menjelajahi situs web tertentu?

  1. Apa yang dapat dilakukan shell dotfile untuk Anda

  2. Apa Itu Linux? Panduan untuk Pengguna Non-teknis

  3. Linux – Apa yang Dilakukan 'membuat Localmodconfig'?