Optimisation du swap sous Fedora Core 2
Bonjour,
Comment peut on optimiser le comportement du swap sur Fedora Core .
(Pentium 800MHZ,RAM 256MO ,swap 400MO) . La RAM est pleine dès que je lance Open Office. L'ouveture d'un fichier texte de 50 KO prend 30 secondes, et mon swap se remplit de 500 à 800 KO seulement .
Merçi d'avance
que la memoire soit pleine ou quasi pleine ...
que la memoire soit pleine ou quasi pleine c'est normal deja de base donc lorsqu'elle passe à 100% rien d'etonnant à ce que ta swap soit utilisée c'est meme sont but !
si seul quelques ko de swap sont utilisés c'est que plus n'est pas necessaire.
bien sur l'usage de la swap (donc du disque) ralentit enormement le process meme en SCSI !
de plus faut pas rever un 800Mhz = 0.00000000125secondes par cycles
meme une instruction NOP (nerien faire) dure 1 cycle une simple instruction intra-processeur comme metre une valeur dans le registre EAX = 3cycles (mov EAX, [adresse]) alors imagine ce que ca donne sur l'ouverture d'un fichier copier 32bits/32bits un fichier dans la memoire = pour un fichier de 256octets ca fait
envoyer les 32bits dans un des registres 3 cycles
lire le registre 3sycles
expedier vers la memoire disons pour simplifier 10cycles
admettons que le temps pris par les buffers et bus soit equivalants à 1 cycle
admettons tjrs pour simplifier que l'enssemble des temps de lecture disque = 100 cycles
donc autant vers la swap
ça fait deja (8*(3+3+10+1)+100+100)*0.00000000125=0,42µs
sans tenir compte du threading de la priorité ni des autres taches et sans compter les autres taches du processeur ne concernant pas les application ni le operatingsystem mais le hardware et la communication entres les peripheriques, si on les considere on peut supposer que ca approcherait les 1millions de fois plus soit 42secondes ça t'en prend 30...
donc rien d'etonnant à 30secondes d'ouverture d'un fichier lorsque celui ci s'ouvre (ou l'application qui l'ouvre) dans la swap...
Par contre là où c'est utile de bosser c'est de liberer ta ram
es tu sur d'avoir besoin de tous les daemon et services qui tournent ?
es tu sur d'avoir qu'un seul serveur X qui tourne
es tu sur d'avoir pas ballancé des taches de fond horriblement gourmandes (find/raytracing/lecture de CD audio en meme temps) etc...