GNU/Linux >> Tutoriels Linux >  >> Linux

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

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 complètement 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.

Vous ne verrez pas nécessairement cela dans tous les cas où vous avez plus de 3 Go de swap. 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).


AFAIK, 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

Vous n'allez pas aimer ça, mais je pense que le bloatware est votre problème (bien que je ne sois pas sûr si c'est la mémoire ou le disque qui est le problème). Malheureusement, le noyau Linux est affreux pour gérer les situations de forte pression de la mémoire et est connu pour nécessiter essentiellement un redémarrage une fois la mémoire épuisée. Trois choses me portent à croire que votre problème est l'épuisement des ressources :

  1. Votre espace disque sur root (/) et DATA est presque plein. Je ne sais pas pourquoi vous utilisez DATA, mais j'ai déjà rencontré des problèmes avec le redimensionnement trop petit de ma partition racine et mon système devenant inutilisable.
  2. Vous avez une forte pression de mémoire, ce qui signifie que votre RAM est presque pleine. Lorsque la RAM commence à être pleine, vous commencerez à avoir des défauts de page. Les défauts de page se produisent lorsque le noyau est incapable d'allouer suffisamment de mémoire pour un processus et doit à la place utiliser une partie de l'espace d'échange beaucoup plus lent du système. Cela nous amène à notre dernière observation :
  3. Votre espace d'échange est presque plein. Il y a clairement une forte pression sur la mémoire de votre système, car la RAM et l'espace d'échange sont presque pleins.

Fondamentalement, mettez ces trois éléments ensemble et votre système n'a pas assez de ressources disponibles pour faire quoi que ce soit. Quant à il est regrettable que Linux gère mal les situations de faible mémoire (par rapport, par exemple, au noyau NT de Windows), mais cela semble être le cas. Vous pouvez trouver plus de discussions dans ce fil Reddit et sa liste de diffusion liée.

Quant à la façon de résoudre votre situation, je dirais que l'augmentation de la taille de votre swap est une bonne idée, mais comme vous manquez d'espace disque, cela posera un problème. À moins que votre serveur Minecraft n'ait une tonne de personnes, je pense qu'il serait prudent de réduire sa mémoire à environ 1024 m (personnellement, j'utilise 1024 m avec environ 10 personnes et cela fonctionne bien). J'utiliserais également un robinet ou du papier pour votre serveur Minecraft car ils ont tendance à être plus performants.

Bonne chance !


Quelle est la sortie de free -m ? La quantité de RAM dont vous disposez est inutile si nous ne savons pas combien vous utilisez. Cela et je suis intéressé de savoir combien d'espace d'échange est utilisé.

Je pense que vous avez répondu à votre propre question, cependant. Le fait d'ouvrir "de nombreux onglets" ouverts dans votre navigateur peut certainement ralentir votre système si vous ne les fermez jamais, car ils continueront à consommer de la mémoire malgré tout ; lorsque votre système se bloque, combien en avez-vous d'ouverts à la fois ?

Cela a également du sens si votre système se bloque à cause d'autres tâches gourmandes en mémoire telles que "la génération d'un très grand graphique à partir d'un diagramme UML très complexe". Cela ralentira absolument votre système lors de la génération du graphique, ce n'est donc pas une surprise.

On dirait vraiment que c'est ainsi que votre système est censé se comporter. Soit ça, soit il me manque quelque chose ici.

Soit dit en passant, les statistiques du disque dur n'ont pas d'importance lorsqu'il s'agit de votre système qui ne répond plus, car un manque de mémoire est presque toujours le coupable.


Linux
  1. Qu'est-ce qu'un dotfile shell peut faire pour vous

  2. Que faire lorsque Ctrl + C ne peut pas tuer un processus ?

  3. Linux peut-il nettoyer la mémoire ?

  4. E/S de disque Linux OOM. Aussi :swap, à quoi ça sert ?

  5. Quelle commande peut être utilisée pour forcer la libération de tout dans la partition d'échange en mémoire ?

20 étapes pour préparer votre PC à l'installation de Linux

Gestion du swap dans le système Linux moderne

Comment effacer la mémoire d'échange sous Linux

Comment désactiver définitivement Swap sous Linux

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

Comment fonctionne la mémoire d'échange sous Linux ?