Bonjour,
Je veux savoir quand un systeme unix commence a swapper? est ce qu'il est necessaire que la ram soit a 100%?
Merci
Bonjour,
Je veux savoir quand un systeme unix commence a swapper? est ce qu'il est necessaire que la ram soit a 100%?
Merci
Pour le savoir, il faut juste suivre par exemple le retour des commandes top, vmstat (pas sur pour vmstat, je l'utilise jamais)...etc qui permettent d'avoir un etat du système. Cela dépend énormement de ton Unix !
Maintenant quand ? Hmm Normalement, à un certain stade d'utilisation de la mémoire, la swap est utilisée pour stocker des informations mémoires non utiles pour le traitement en cours.
Un autre cas, c'est que les informations utiles au traitement en cours sont trop importantes, on utilise la swap comme seconde mémoire.
Mais il faut bien se dire qu'une swap ne devrait jamais etre utilisé régulièrement, c'est souvent une zone tampon pour permettre de tenir une charge importante non prévue
Je ne considère par la swap comme une "mémoire" parce que son temps d'accès est trop important. C'est comme une zone de rétention d'eau quand un fleuve commence à grossir trop rapidement.
Pour un serveur unix, utilisez la swap n'est pas normal
PS : pour information, sur mon poste personnel sous Linux, je me suis même apercu récemment que j'avais pas activer la swap... Et avec 1G5 ca tournait très bien.
sur certains systeme le swap comme son nom l'indique a plusieurs roles a la fois et c'est selon l'activitee de la machine a un instant T que telle ou telle activitee lui est donnee.
-1) le swap sert de flip/flap entre ram et stockage des donnees non utilisees de la ram pour liberer celle ci. Ainsi un programme peut utiliser une grande quantitee de ram a lui seul pendant quelques cycles...
-2) le swap sert aussi de buffer/cache pour les I/O en particulier de cache disque (c'est l'activitee la plus courrante qui ne prend que tres peu de volume)
-3) le swap sert de memoire supplementaire pour enpecher le systeme/dumoins le programme en cours de planter quand la ram est insuffisante par exemple si tu as un fichier de 4Go et une ram de 2Go et que ton programme charge des zones de 512Mo par traitement mais que seul 400 megs seuls sont dispo alors le system lui reserve un bloc de 128Mo sur le swap ..
Autrement dit il est normal que le swap soit peu utilise, quelque soit la configuration, d'ailleur avoir un swap n'a rien d'obligatoire c'est juste fortement conseille...
C'est la principale raison pour la quelle on ne cree jamais plus de 2Go de swap totale et qu'on en active souvent que la moitiee au boot et on active le reste que si on voit que ca a ce l'interet et souvent tel n'est pas le cas ducoup on recupere ce petit bout de disque inutil pour agrandir un disque ...
Sur une config classique l'activitee swap sur une journee ne depasse jamais 10-15% et le volume de swap utilise au maximum depasse rarement le tiers de son volume total.
C'est tres logique puisque ce n'est qu'un secours pour ammeliorer les perfs globales et evitant les saturations.
PS: D'un systeme a l'autre le role de la swap peut etre different ou privilegier un cas par rapport au autres...
En général, les système Unix modernes paginent, il ne swappent qu'en cas de nécessité.Envoyé par droussa
Paginer: copier les pages mémoire les moins utilisées sur disque.
Swapper: mettre toute la mémoire virtuelle utilisée par un processus sur disque, et suspendre l'activité de ce processus.
Non, par exemple Solaris essaie de préserver une partie de la RAM disponible (1/64ème par défaut je crois) pour ne pas écrouler les performances lors d'une saturation mémoire.est ce qu'il est necessaire que la ram soit a 100%?
Le swap (ram->disque) s'effectue en principe au moment de la suspension d'un thread ou d'un processus pour sauvegarder son contexte d'execution. Cela dépend beaucoup de l'algorithme implémenté dans l'OS (tourniquet, robby robbins ?) donc ce n'est pas forcément à 100% d'utilisation et encore heureux car il faut bien prédire un peu à l'avance la charge pour ne pas se retrouver bloquer
Je pense plutôt que la pagination est effectuée indépendamment de la sauvegarde du contexte, et donc de manière asynchrone. Elle s'intéresse aux pages les moins utilisées alors que les pages d'un processus qui vient d'être suspendu sont susceptibles d'être nécessaires à nouveau rapidement. Le mécanisme de swap lui s'attaque en priorité aux processus déjà inactifs depuis longtemps.Envoyé par hegros
round robin ?Cela dépend beaucoup de l'algorithme implémenté dans l'OS (tourniquet, robby robbins ?)
Ah je pensais que les contextes étaient directement swappés et non paginés dés qu'un process était interrompu.
C'est bien round robin
Sinon je rejoind l'explication de jlliagre
Ni l'un, ni l'autre.Envoyé par hegros
Un contexte n'est pas une page mémoire mais contient principalement des données récupérées dans les registres des CPU et MMU. Il n'est donc pas susceptible d'être swappé comme la RAM, bien qu'il faille bien sûr le conserver quelque part dans une table du noyau.
Partager