GNU/Linux >> Tutoriels Linux >  >> Linux

Linux - Qu'est-ce qui peut rendre Linux insensible pendant quelques minutes lors de la navigation sur certains sites Web ?

J'utilise Linux 4.15, et cela m'arrive souvent lorsque je navigue sur Google, Facebook ou tout autre site Web gourmand en ressources - L'ensemble du système d'exploitation devient insensible, gelé et inutile. La seule chose que je vois fonctionner est le disque (partition système principale formatée en ext4), qui est massivement utilisée (limitation des E/S).

Je suis obligé d'attendre une minute ou plus pour me débarrasser du ballonnement, parfois il reste insensible pendant douze minutes, et donc je suis frustré. Le fait que le système d'exploitation ne soit pas capable de bien gérer le multitâche tend à refléter un comportement absolument étrange et inacceptable.

Non seulement cela se produit avec Firefox, mais avec tout application interpréteur javascript incluant Microsoft VSCode ou angular-cli (ng serve commande) ainsi que tout autre thread d'exécution gourmand en ressources - comme le cas de plantuml lors de la génération d'un très grand graphe à partir d'un diagramme UML très complexe.

Aujourd'hui, le système d'exploitation devient totalement ingérable, après le lancement d'un logiciel de récupération de données pour un disque dur externe (sur une partition ext4) qui s'est récemment débranché d'un mauvais port USB par un petit mouvement.

Je ne suis pas en mesure de déterminer la cause profonde d'un tel comportement de bogue

J'ai de nombreux onglets ouverts dans le navigateur et 94 % d'utilisation de la partition du système d'exploitation selon df sortie :

  Système de fichiers 1k blocs utilisés disponibles Utilisation% montée ONUDEV 3964160 0 3964160 0% / DEVTMPFS 798164 3192 794972 1% / Run / Dev / SDA5 173466400 153224316 11407424 94% / TMPFS / Devr 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 -frameworks-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 /6% 1530 /DATA/dev/sdb1 15142960 2091904 13051056 14% /media/kais/STORE N GO 

En tant que matériel, j'utilise :

  1. Intel Core i3 v2348M selon lscpu :

    Architecture :x86_64CPU op-mode(s) :32 bits, 64 bitByte Order :Little EndianAddress tailles :36 bits physiques, 48 bits virtualCPU(s) :4On-line CPU(s) list :0 -3Thread(s) par cœur :2Core(s) par socket :2Socket(s) :1Nœud(s) NUMA :1ID de fournisseur :GenuineIntelCPU family :6Model :42Model name :Intel(R) Core(TM) i3-2348M CPU @ 2.30GHzStepping :7CPU MHz :905.312CPU max MHz :2300.0000CPU min MHz :800.0000BogoMIPS :4589.49Virtualization :VT-xL1d cache :32KL1i cache :32KL2 cache :256KL3 cache :3072KNUMA node0 CPU :0-3Flags :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_tsc cpuid aperfmperf pni pclmulqdq dtes64 moniteur ds _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. 8 Go de RAM. (Voir htop sortie ci-dessous).

  3. 99,83 MHz de vitesse de bus de la carte mère
  4. Disque dur interne de 500 Go - C'est le S.M.A.R.T. rapport du
    système d'exploitation :

    smartctl 6.6 2017-11-05 r4594 [x86_64-linux-4.15.0-33-generic] (version locale)Copyright (C) 2002-17, Bruce Allen, Christian Franke, www.smartmontools.org ===DÉBUT DE LA SECTION D'INFORMATIONS ===Famille de modèles :Western Digital Blue MobileDevice Modèle :WDC WD5000LPVX-22V0TT0Numéro de série :WD-WXE1E13AAMR4LU WWN Device ID :5 0014ee 25db04ba7Firmware Version :01.01A01Capacité utilisateur :500 107 862 016 octets [500 Go] Tailles de secteur :512 octets logiques, 4 096 octets physiquesTaux de rotation :5 400 tr/min L'appareil est :dans la base de données smartctl [pour plus de détails, utilisez :-P show] La version ATA est :ACS-2 (révision mineure non indiquée) La version SATA est :SATA 3.0, 6.0 Gb/s ( actuel :6,0 Gb/s) L'heure locale est :Mer 7 août 15:52:05 2019 La prise en charge CETSMART est :Disponible - l'appareil a une capacité SMART. -résultat du test d'auto-évaluation de la santé :PASSEDValeurs SMART générales :État de la collecte de données hors ligne :(0x00) Activité de collecte de données hors ligne y n'a jamais été commencé. Collecte automatique des données hors ligne :désactivée. État d'exécution de l'auto-test :( 0) La routine d'auto-test précédente s'est terminée sans erreur ou aucun auto-test n'a jamais été exécuté. Temps total pour terminer la collecte des données hors ligne :( 8040) secondes. Données hors ligne collectioncapabilities :(0x7b) SMART s'exécute hors ligne immédiatement. Prise en charge marche/arrêt de la collecte de données hors ligne automatique. Suspendre la collecte hors ligne lors d'une nouvelle commande. Analyse de surface hors ligne prise en charge. Autotest pris en charge. Autotest de transport pris en charge. Autotest sélectif pris en charge. Capacités SMART :(0x0003) Enregistre les données SMART avant d'entrer en mode d'économie d'énergie. Prend en charge la minuterie d'enregistrement automatique SMART. Capacité de journalisation des erreurs :(0x01) journalisation des erreurs prise en charge. Enregistrement à usage général pris en charge. Durée d'interrogation recommandée pour la routine d'auto-test courte :( 2) minutes. Durée d'interrogation recommandée pour la routine d'auto-test étendue :( 93) minutes. ) Statut SCT pris en charge. Contrôle de fonctionnalité SCT pris en charge. Table de données SCT prise en charge.SMART Attributes Numéro de révision de la structure de données :16Attributs SMART spécifiques au fournisseur avec seuils :ID# ATTRIBUTE_NAME FLAG VALUE WORST THRESH TYPE UPDATED WHEN_FAILED RAW_VALUE 1 Raw_Read_Error_Rate 0x002f 200 200 051 Pré-échec Toujours - 1 3 Spin_Up_Time 0x0027 149 1 Pré- Échec toujours - 1541 4 start_stop_count 0x0032 057 057 000 Old_age Always - 43173 5 reallocated_sector_ct 0x0033 200 200 140 Pré-Fail Alway 100 000 Old_age Toujours - 0 11 Calibration_Retry_Count 0x0032 100 100 000 Old_age Toujours - 0 12 Power_Cycle_Count 0x0032 091 091 000 Old_age Always - 9496191 G-Sense_Error_Rate 0x0032 001 001 000 Old_age Always - 250192 Power-Off_Retract_Count 0x0032 200 200 000 Old_age Always - 399193 Load_Cycle_Count 0x0032 147 147 000 Old_age Always - 160989194 Temperature_Celsius 0x0022 101 092 000 Old_age Always - 42196 Reallocated_Event_Count 0x0032 200 200 000 Old_age Always - 0197 current_pending_sector 0x0032 200 200 000 old_age Always - 0198 Offline_unCorrectable 0x0030 100 253 000 Old_age Offline - 0199 UDMA_CRC_ERROR_COUNT 0x0032 200 200 000 OLD_AGE ALLAND - 0200 Multi_zone_error_Rate 0x0008 100 253000 numéro de révision 1Aucun auto-test n'a été enregistré. [Pour exécuter des auto-tests, utilisez :smartctl -t]SMART Selective self-test log data structure revision number 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- indicateurs de test (0x0) :après avoir analysé les étendues sélectionnées, ne lisez PAS le reste du disque. Si l'autotest sélectif est en attente à la mise sous tension, reprenez après un délai de 0 minute. 

Ce sont les résultats de l'utilisation des ressources par htop :

 1 [||||| 14,1 %] Tâches :286 1 497 th ; 2 en cours d'exécution 2 [||||| 13,2 %] Charge moyenne :3,00 4,97 6,09 3 [||||| 12,5 %] Disponibilité :3 jours, 16:12:35 4 [||| 9.3 %] Mémoire[||||||||||||||||||5.09G/7.61G] Swp[||||||||||||||||| |3.68G/4.65G] PID USER 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 6 206M S. :23 /usr/lib/firefox/ 2299 kais 20 0 2958M 184M 42912 S 5.3 2.4 13:54.41 /usr/lib/firefox/ 1216 racine 20 0 519M 120M 94640 S 5.3 1.5 1h52:50 /usr/lib/xorg/Xor28 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 82 1 4.50 M 6 3222M 3 :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 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 Pavucontrol1799 Kais 20 0 2424M 29460 25380 /pulseaudF1 Aide F2 Configuration F3 Recherche F4 Filtre F5 Arborescence F6 SortBy F7 Nice - F8 Nice + F9 Kill F10 Quit 

Ce sont également les résultats des statistiques de VM, générées par la commande vmstat 5 .

AFAIK, le bloatware ne devrait pas rendre le système d'exploitation insensible, donc je ne considérerais pas ou même n'accepterais pas que le bloatware soit la cause première du problème - puisque le travail du système d'exploitation isole les processus et assure le multitâche.

Connexe :Ajouter plus d'espace disque pour Linux à partir de Windows dans une machine à double amorçage ?

Je ne sais pas si ce problème est spécifique au système d'exploitation, au matériel ou à la configuration.

Des idées ?

Réponse acceptée :

Qu'est-ce qui peut rendre Linux si peu réactif ?

La surcharge de la RAM disponible, qui entraîne une grande quantité d'échanges, peut certainement le faire. N'oubliez pas que les E/S à accès aléatoire sur votre disque dur mécanique nécessitent le déplacement d'une tête de lecture/écriture, qui ne peut effectuer qu'environ 100 recherches par seconde.

Il est habituel que Linux sorte totalement déjeuner, si vous surchargez "trop" de RAM. J'ai aussi un disque dur et 8 Go de RAM. J'ai eu des problèmes avec quelques logiciels avec des fuites de mémoire. C'est à dire. leur utilisation de la mémoire ne cesse de croître avec le temps et ne diminue jamais, donc la seule façon de la contrôler aurait été d'arrêter le logiciel puis de le redémarrer. Sur la base des expériences que j'ai eues pendant ce temps, je ne suis pas très surpris d'entendre des retards de plus de dix minutes, si vous générez plus de 3 Go d'échange.

Connexe :Linux – Utiliser la commande sed pour une ligne spécifique ?

Vous ne verrez pas nécessairement cela dans tous les cas où vous avez plus de 3 Go d'échange. La théorie dit que le concept clé est la raclée. D'un autre côté, si vous essayez de basculer entre deux ensembles de travail différents et que cela nécessite d'échanger 3 Go d'entrée et de sortie, à 100 Mo/s, cela prendra au moins 60 secondes même si le modèle d'E/S peut être parfaitement optimisé. En pratique, le modèle d'E/S sera loin d'être optimal.

Après la difficulté que j'ai eue avec cela, j'ai reformaté mon espace d'échange à 2 Go (plusieurs fois plus petit qu'avant), afin que le système ne puisse pas échanger aussi profondément. Vous pouvez le faire même sans vous soucier du redimensionnement de la partition, car mkswap prend un paramètre de taille facultatif.

L'équilibre approximatif est entre le manque de mémoire et la mort des processus, et le blocage du système pendant si longtemps que vous abandonnez et redémarrez de toute façon. Je ne sais pas si une partition swap de 4 Go est trop grande; cela peut dépendre de ce que vous faites. L'important est de surveiller le moment où le disque commence à tourner, de vérifier votre utilisation de la mémoire et de réagir en conséquence.

Il est difficile de vérifier l'utilisation de la mémoire des applications multi-processus. Pour voir l'utilisation de la mémoire par processus sans compter deux fois la mémoire partagée, vous pouvez utiliser sudo atop -R , appuyez sur M et m , et regardez dans la colonne PSIZE. Vous pouvez également utiliser smem . smem -t -P firefox affichera le PSS de tous vos processus Firefox, suivi d'une ligne avec le PSS total. Il s'agit de la bonne approche pour mesurer l'utilisation totale de la mémoire des navigateurs basés sur Firefox ou Chrome. (Bien qu'il existe également des fonctionnalités spécifiques au navigateur pour afficher l'utilisation de la mémoire, qui afficheront des onglets individuels).


Linux
  1. Quelle est la meilleure distribution Linux pour les débutants ?

  2. Qu'est-ce que Linux ? Un guide pour les utilisateurs non techniques

  3. Linux - Que fait "make Localmodconfig" ?

  4. Linux - Comment savoir pour quoi Grep dans Dmesg ?

  5. Live Linux CD à graver avec Bonnie++ ?

Comment créer une charge CPU à 100 % sur un système Linux

La meilleure interface SVN pour Linux ?

Commande top Linux :Que sommes-nous, sy, ni, id, wa, hi, si et st (pour l'utilisation du processeur) ?

Que faire lorsqu'un bureau Linux se bloque ?

Qu'est-ce qui peut empêcher Linux de répondre pendant des minutes lors de la navigation sur certains sites Web ?

Linux - Comment puis-je voir ce qui attend les E/S de disque