Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

[gentoo-user-fr] [ Hardware ] Augmentation de la RAM utile ?

3 réponses
Avatar
grillot sebastien
Bonjour,
je me poses une question : Ai je besoin d'acheter de la RAM en plus ?
Je m'expliques : j'ai 512 Mo de RAM DDR 2700, un pentium M et biensur
ma p'tite gentoo :o)
Seulement voila, j'ai mis un system tray dans xcfe et il me dit JAMAIS
que ma RAM est pleine. Au max je la vois utilisée à 415 ~ 420 Mo
jamais plus... et en plus (ce matin par exemple) ca swap
(la je comprends pas :
top - 08:02:47 up 9:19, 4 users, load average: 1.95, 2.14, 1.98
Tasks: 82 total, 2 running, 80 sleeping, 0 stopped, 0 zombie
Cpu(s): 71.3% us, 28.0% sy, 0.0% ni, 0.0% id, 0.0% wa, 0.7% hi, 0.0% si
Mem: 514268k total, 308420k used, 205848k free, 30896k buffers
Swap: 500464k total, 80048k used, 420416k free, 129228k cached
)
Donc la question (enfin les deux questions) Est ce utile de passer a 1
Go de RAM (de base j'aurais dis "biensur voyons !! en plus une gentoo,
une distrib source, je vais forcement voir la difference! Mais au vue
de ces chiffres.... j'ai un tres gros doute...) et la deuxieme
question : Il y a peut-etre un truc "bloquant" qui interdit qu'un
certain pourcentage de la RAM ne soit utilisé ? Nan ?

Amicalement

Seb

--
gentoo-user-fr@gentoo.org mailing list

3 réponses

Avatar
Aurélien Francillon
This is an OpenPGP/MIME signed message (RFC 2440 and 3156)
--------------enig2AAFE1CB03C7C18223A9FE32
Content-Type: text/plain; charset=ISO-8859-1
Content-Transfer-Encoding: quoted-printable

grillot sebastien wrote:
Bonjour,
je me poses une question : Ai je besoin d'acheter de la RAM en plus ?
Je m'expliques : j'ai 512 Mo de RAM DDR 2700, un pentium M et biensur
ma p'tite gentoo :o)
Seulement voila, j'ai mis un system tray dans xcfe et il me dit JAMAIS
que ma RAM est pleine. Au max je la vois utilisée à 415 ~ 420 Mo
jamais plus... et en plus (ce matin par exemple) ca swap
(la je comprends pas :
top - 08:02:47 up 9:19, 4 users, load average: 1.95, 2.14, 1.98
Tasks: 82 total, 2 running, 80 sleeping, 0 stopped, 0 zombie
Cpu(s): 71.3% us, 28.0% sy, 0.0% ni, 0.0% id, 0.0% wa, 0.7% hi, 0. 0% si
Mem: 514268k total, 308420k used, 205848k free, 30896k buffer s
Swap: 500464k total, 80048k used, 420416k free, 129228k cached
)
Donc la question (enfin les deux questions) Est ce utile de passer a 1
Go de RAM (de base j'aurais dis "biensur voyons !! en plus une gentoo,
une distrib source, je vais forcement voir la difference! Mais au vue
de ces chiffres.... j'ai un tres gros doute...) et la deuxieme
question : Il y a peut-etre un truc "bloquant" qui interdit qu'un
certain pourcentage de la RAM ne soit utilisé ? Nan ?




hello,

j'ai un portable avec 1Go de ram et gentoo et ca marche vachement bien ;)
Il y a une limite a environ 850Mo pour la ram due a des raisons plus ou
moins historiques sur x86, en fait pour utiliser les 150Mo
supplementaires tu doit compiler ton noyau avec l'option "highmem" par
contre il parait que ca ralentit pas mal les acces memeoire ... il y a
un bon article sur kerneltrap sur ce sujet si tu veux tout savoir a
propose du highmem http://kerneltrap.org/node/2450/7217

Actuellement tu vois de la ram libre est inutilisé et des trucs dans le
swap... en fait il y a plusieurs approches du point de vue du noyau,
exemple bidon :
tu compile un noyau et tu a un mozilla qui tourne en meme temps :
- soit tu decide que tu veux mozilla dans la ram pour que si jamais tu
veux lire tes mail tout de suite mozilla soit completement reactif ...
masi en meme temps ta compilation noyau sera peut etre plus lente car il
y aura moins de place en ram pour le cache disque ...
- sinon le noyau peut decider de mettre mozilla dans le swap car il n'en
a pas besoin tout de suite (ca fait au moins 1 Min que tu ne l'a pas
utilisé ... ), du coup il recupère de la memoire dans laquelle il va
pouvoir mettre du cache disque ... et la compilation sera plus rapide
...
pour voir le montant de cache disque, utilise "free" voire free -m qui
affiche en Mo ...

ces comportement peuvent etre modifiés par la variable swappiness
par exemple

echo "25" > /proc/sys/vm/swappiness

et j'ai le swap qui n'est (presque) jamais utilisé ...
les aplis sont toujours dispo rapidement mais du coup celles qui sont en
ram et jamais utilisées "squattent" de la ram pour rien ...

echo "75" > /proc/sys/vm/swappiness

aura l'effet inverse ..
en plus de ca ca change un peu avce chaque noyau etc ...


tu peux aussi tester le patch autoswappiness de con kolivas (sous gentoo
au moins dans sys-kernel-/ck-sources) qui s'arrange pour changer ce
parametre automatiquement en fonction des besoins ...

de plus je pense que le noyau doit toujours se garder un certain
pourcentage de ram libre ... histoire d'avoir toujours de la memoire
libre sous le coude ...

pour finir a mon avis de la ram il n'y en a jamais de trop, au pire
c'est pas gaché c'est pour le cache disque si tu l'utilise pas...


A+
aurel


--
------------------------------------------------------------------
a voir:
http://shanseifan.com/Famille/05_Muriel//Blog/luxembourg9cu_fr.jpg


--------------enig2AAFE1CB03C7C18223A9FE32
Content-Type: application/pgp-signature; name="signature.asc"
Content-Description: OpenPGP digital signature
Content-Disposition: attachment; filename="signature.asc"

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.1 (GNU/Linux)
Comment: Using GnuPG with Thunderbird - http://enigmail.mozdev.org

iD8DBQFCVljjtsnPPsovZP0RAsVDAKCgWPh0zNViXS8rwKDiCfQEqwNMkQCeMOA0
/q0p3s3ik7nLRIPnu0FtRnE ENg
-----END PGP SIGNATURE-----

--------------enig2AAFE1CB03C7C18223A9FE32--
--
mailing list
Avatar
Jean-François Maeyhieux
--=-8dFi5PPupvSd2XQR9vLm
Content-Type: multipart/alternative; boundary="=-DSEo9gpZkWauBHmW3vdD"


--=-DSEo9gpZkWauBHmW3vdD
Content-Type: text/plain; charset=ISO-8859-15
Content-Transfer-Encoding: quoted-printable



ces comportement peuvent etre modifiés par la variable swappiness
par exemple

echo "25" > /proc/sys/vm/swappiness

et j'ai le swap qui n'est (presque) jamais utilisé ...
les aplis sont toujours dispo rapidement mais du coup celles qui sont en
ram et jamais utilisées "squattent" de la ram pour rien ...

echo "75" > /proc/sys/vm/swappiness

aura l'effet inverse ..
en plus de ca ca change un peu avce chaque noyau etc ...




J'avais lu pas mal de choses la dessus il y a quelques mois et tu me
fais me repencher dessus rapidement et là je m'appercois que je n'ai
plus la variable dans /proc comme tu peux le voir:

# grep -Hr "" /proc/sys/vm
/proc/sys/vm/swap_token_timeout:0
/proc/sys/vm/legacy_va_layout:0
/proc/sys/vm/vfs_cache_pressure:100
/proc/sys/vm/block_dump:0
/proc/sys/vm/laptop_mode:0
/proc/sys/vm/max_map_count:65536
/proc/sys/vm/min_free_kbytes:2896
/proc/sys/vm/lowmem_reserve_ratio:256 32
/proc/sys/vm/hardmaplimit:1
/proc/sys/vm/mapped:66
/proc/sys/vm/nr_pdflush_threads:2
/proc/sys/vm/dirty_expire_centisecs:3000
/proc/sys/vm/dirty_writeback_centisecs:500
/proc/sys/vm/dirty_ratio:40
/proc/sys/vm/dirty_background_ratio:10
/proc/sys/vm/page-cluster:3
/proc/sys/vm/overcommit_ratio:50
/proc/sys/vm/overcommit_memory:0


Donc je me pose plusieurs questions. Cela doit dépendre forcément du
kernel mais je penseque c'est plus du scheduler utilisé, est ce exact ?
De plus, est il possible de choisir combien de ram peut etre utilisé
pour les buffers, la cache disque et le reste ?

Je n'utilise pas un noyau fort conventionnel mais qui reste assez à la
pointe de ce qu'il se fait en termes de patchs (reiser4, driver wifi,
notebook, reseau, ...) et la personne entretenant le patch set de ce
noyau intègre très rapidement les derniers patch et surtout des patchs à
la demande avec gestion par use flags gentoo .

Voici la référence de mon kernel:

# uname -a
Linux purgatoire 2.6.11-morph6 #2 Thu Apr 7 21:04:10 CEST 2005 i686 AMD
Athlon(tm) XP 3200+ AuthenticAMD GNU/Linux

Et les use flags associés à l'installation des sources:

#emerge -pv morph-sources
[ebuild R ] sys-kernel/morph-sources-2.6.11-r6 -build -doc -hostap
-mppe-mppc -nicksched -orinoco +sk98 +staircase +symlink -touchpad-fixes
-updated-bluetooth -updated-v4l 0 kB [1]

on voit donc que j'utilise le patch "staircase" pour le scheduler. Est
ce la partie scheduler qui gère aussi le swap ou est ce quelque chose
d'autre ? Où puis je voir cela au niveau de la config de mon kernel ?

Homepage du kernel Morph:
http://morph-sources.sourceforge.net/

Download des ebuilds pour gentoo:
https://sourceforge.net/project/showfiles.php?group_id7585&release_id 17964


Genntooeusement,

TuTTle


--
--------------------------------------------------------------------------- -----------
PGP Public Key = http://pgpkeys.mit.edu:11371/pks/lookup?op=get&search =0x63DB4770
Key ID = 63DB4770 Tuttle (JFM)
--------------------------------------------------------------------------- -----------

--=-DSEo9gpZkWauBHmW3vdD
Content-Type: text/html; charset=utf-8
Content-Transfer-Encoding: quoted-printable

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 TRANSITIONAL//EN">
<HTML>
<HEAD>
<META HTTP-EQUIV="Content-Type" CONTENT="text/html; CHARSET=UTF-8">
<META NAME="GENERATOR" CONTENT="GtkHTML/3.2.4">
</HEAD>
<BODY>
<BR>
<BLOCKQUOTE TYPE=CITE>
<PRE>
<FONT COLOR="#000000">ces comportement peuvent etre modifi&#233;s par la variable swappiness</FONT>
<FONT COLOR="#000000">par exemple</FONT>

<FONT COLOR="#000000">echo &quot;25&quot; &gt; /proc/sys/vm/swappiness</ FONT>

<FONT COLOR="#000000">et j'ai le swap qui n'est (presque) jamais utilis&# 233; ...</FONT>
<FONT COLOR="#000000">les aplis sont toujours dispo rapidement mais du co up celles qui sont en</FONT>
<FONT COLOR="#000000">ram et jamais utilis&#233;es &quot;squattent&quot; de la ram pour rien ...</FONT>

<FONT COLOR="#000000">echo &quot;75&quot; &gt; /proc/sys/vm/swappiness</ FONT>

<FONT COLOR="#000000">aura l'effet inverse ..</FONT>
<FONT COLOR="#000000">en plus de ca ca change un peu avce chaque noyau et c ...</FONT>

</PRE>
</BLOCKQUOTE>
J'avais lu pas mal de choses la dessus il y a quelques mois et tu me fais m e repencher dessus rapidement et l&#224; je m'appercois que je n'ai plus la variable dans /proc comme tu peux le voir:<BR>
<BR>
# grep -Hr &quot;&quot; /proc/sys/vm<BR>
/proc/sys/vm/swap_token_timeout:0<BR>
/proc/sys/vm/legacy_va_layout:0<BR>
/proc/sys/vm/vfs_cache_pressure:100<BR>
/proc/sys/vm/block_dump:0<BR>
/proc/sys/vm/laptop_mode:0<BR>
/proc/sys/vm/max_map_count:65536<BR>
/proc/sys/vm/min_free_kbytes:2896<BR>
/proc/sys/vm/lowmem_reserve_ratio:256&nbsp;&nbsp; 32<BR>
/proc/sys/vm/hardmaplimit:1<BR>
/proc/sys/vm/mapped:66<BR>
/proc/sys/vm/nr_pdflush_threads:2<BR>
/proc/sys/vm/dirty_expire_centisecs:3000<BR>
/proc/sys/vm/dirty_writeback_centisecs:500<BR>
/proc/sys/vm/dirty_ratio:40<BR>
/proc/sys/vm/dirty_background_ratio:10<BR>
/proc/sys/vm/page-cluster:3<BR>
/proc/sys/vm/overcommit_ratio:50<BR>
/proc/sys/vm/overcommit_memory:0<BR>
<BR>
<BR>
Donc je me pose plusieurs questions. Cela doit d&#233;pendre forc&#233;ment du kernel mais je penseque c'est plus du scheduler utilis&#233;, est ce ex act ? De plus, est il possible de choisir combien de ram peut etre utilis&# 233; pour les buffers, la cache disque et le reste ?<BR>
<BR>
Je n'utilise pas un noyau fort conventionnel mais qui reste assez &#224; la pointe de ce qu'il se fait en termes de patchs (reiser4, driver wifi, note book, reseau, ...) et la personne entretenant le patch set de ce noyau int& #232;gre tr&#232;s rapidement les derniers patch et surtout des patchs &#22 4; la demande avec gestion par use flags gentoo .<BR>
<BR>
Voici la r&#233;f&#233;rence de mon kernel:<BR>
<BR>
# uname -a <BR>
Linux purgatoire 2.6.11-morph6 #2 Thu Apr 7 21:04:10 CEST 2005 i686 AMD Ath lon(tm) XP 3200+ AuthenticAMD GNU/Linux<BR>
<BR>
Et les use flags associ&#233;s &#224; l'installation des sources:<BR>
<BR>
#emerge -pv morph-sources<BR>
[ebuild&nbsp;&nbsp; R&nbsp;&nbsp; ] sys-kernel/morph-sources-2.6.11-r6&nbsp ; -build -doc -hostap -mppe-mppc -nicksched -orinoco +sk98 +staircase +syml ink -touchpad-fixes -updated-bluetooth -updated-v4l 0 kB [1] <BR>
<BR>
on voit donc que j'utilise le patch &quot;staircase&quot; pour le scheduler . Est ce la partie scheduler qui g&#232;re aussi le swap ou est ce quelque chose d'autre ? O&#249; puis je voir cela au niveau de la config de mon ker nel ?<BR>
<BR>
Homepage du kernel Morph:<BR>
<A HREF="http://morph-sources.sourceforge.net/">http://morph-sources.sour ceforge.net/</A><BR>
<BR>
Download des ebuilds pour gentoo:<BR>
<A HREF="https://sourceforge.net/project/showfiles.php?group_id7585& release_id17964">https://sourceforge.net/project/showfiles.php?group_id 7585&amp;release_id17964</A><BR>
<BR>
<BR>
&nbsp;&nbsp; Genntooeusement,<BR>
<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nb sp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; TuTTle<BR>
<BR>
<BR>
<TABLE CELLSPACING="0" CELLPADDING="0" WIDTH="100%">
<TR>
<TD>
<PRE>
--
--------------------------------------------------------------------------- -----------
PGP Public Key = <A HREF="http://pgpkeys.mit.edu:11371/pks/lookup?op= get&search=0x63DB4770">http://pgpkeys.mit.edu:11371/pks/lookup?op=get&a mp;search=0x63DB4770</A>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Key ID = 63DB4770&nbsp;&nbsp;& nbsp;&nbsp;&nbsp;&nbsp; Tuttle (JFM) &lt;<A HREF="mailto:">b4 </A>&gt;
--------------------------------------------------------------------------- -----------
</PRE>
</TD>
</TR>
</TABLE>
</BODY>
</HTML>

--=-DSEo9gpZkWauBHmW3vdD--

--=-8dFi5PPupvSd2XQR9vLm
Content-Type: application/pgp-signature; name=signature.asc
Content-Description: This is a digitally signed message part

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.1 (GNU/Linux)

iD8DBQBCVtBQHVRy9WPbR3ARAr0fAJwIT6XGlzhYrzswnaIvArL7NDbp1wCg3YzK
maqbPs0K5All9qThN9yP1MM =Dkqx
-----END PGP SIGNATURE-----

--=-8dFi5PPupvSd2XQR9vLm--

--
mailing list
Avatar
Aurelien Francillon
This is an OpenPGP/MIME signed message (RFC 2440 and 3156)
--------------enig99F4408C332294ECE56C94B6
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: quoted-printable

Jean-François Maeyhieux wrote:

J'avais lu pas mal de choses la dessus il y a quelques mois et tu me
fais me repencher dessus rapidement et là je m'appercois que je n' ai
plus la variable dans /proc comme tu peux le voir:

# grep -Hr "" /proc/sys/vm
/proc/sys/vm/swap_token_timeout:0
/proc/sys/vm/legacy_va_layout:0
/proc/sys/vm/vfs_cache_pressure:100
/proc/sys/vm/block_dump:0
/proc/sys/vm/laptop_mode:0
/proc/sys/vm/max_map_count:65536
/proc/sys/vm/min_free_kbytes:2896
/proc/sys/vm/lowmem_reserve_ratio:256 32
/proc/sys/vm/hardmaplimit:1
/proc/sys/vm/mapped:66
/proc/sys/vm/nr_pdflush_threads:2
/proc/sys/vm/dirty_expire_centisecs:3000
/proc/sys/vm/dirty_writeback_centisecs:500
/proc/sys/vm/dirty_ratio:40
/proc/sys/vm/dirty_background_ratio:10
/proc/sys/vm/page-cluster:3
/proc/sys/vm/overcommit_ratio:50
/proc/sys/vm/overcommit_memory:0






apres un petit grep dans le patch patch-2.6.11-morph6 on peut voir qu'il
remplace l'entree swappiness par mapped ...

{
- .ctl_name = VM_SWAPPINESS,
- .procname = "swappiness",
- .data = &vm_swappiness,
- .maxlen = sizeof(vm_swappiness),
+ .ctl_name = VM_MAPPED,
+ .procname = "mapped",
+ .data = &vm_mapped,
+ .maxlen = sizeof(vm_mapped),
.mode = 0644,
.proc_handler = &proc_dointvec_minmax,
.strategy = &sysctl_intvec,
.extra1 = &zero,
.extra2 = &one_hundred,
},


donc la valeur qui est dans /proc/sys/vm/swappiness dans un noyau
standard doit correspondre plus ou moins a celle qui est dans
/proc/sys/vm/mapped avec ce noyau. Ca a l'air de venir du patch
mapped_watermark3.diff de con kolivas qui a l'air d'implementer ce que
je dois etre le seul a appeler l'autoswappiness ;)
on dirait que les valeurs de "swappiness" et "mapped" ont un effet
"inverse" d'apprès le patch:
@@ -699,10 +697,14 @@ refill_inactive_zone(struct zone *zone,
* doesn't necessarily mean that page reclaim isn't succeeding.
*
* The distress ratio is important - we don't want to start going oom.
+ * This distress value is ignored if we apply a hardmaplimit except
+ * in extreme distress.
*
- * A 100% value of vm_swappiness overrides this algorithm altogether.
+ * A 0% value of vm_mapped overrides this algorithm altogether.
*/
- swap_tendency = mapped_ratio / 2 + distress + vm_swappiness;
+ swap_tendency = mapped_ratio * 100 / (vm_mapped + 1);
+ if (!vm_hardmaplimit || distress == 100)
+ swap_tendency += distress;


par contre "/proc/sys/vm/hardmaplimit" a l'air de jouer un role la
dedans ... si quelqu'un sait lequel ...


Donc je me pose plusieurs questions. Cela doit dépendre forcé ment du
kernel mais je penseque c'est plus du scheduler utilisé, est ce ex act ?
De plus, est il possible de choisir combien de ram peut etre utilisé
pour les buffers, la cache disque et le reste ?


on dirait pas ... en tout cas je ne sais pas ... peut être en jouant
avec les parametres de la vm dans le /proc/sys/vm ...

...
#emerge -pv morph-sources
[ebuild R ] sys-kernel/morph-sources-2.6.11-r6 -build -doc -hostap
-mppe-mppc -nicksched -orinoco +sk98 +staircase +symlink -touchpad-fixe s
-updated-bluetooth -updated-v4l 0 kB [1]




je ne connaisaias pas ... je vais essayer pour voir ...

on voit donc que j'utilise le patch "staircase" pour le scheduler. Est
ce la partie scheduler qui gère aussi le swap ou est ce quelque ch ose
d'autre ?



appres verification ... non, le staircaise est le scheduler des
processus, de Con Kolivas, qui ne s'occupe donc que de scheduler les
processus ... donc si je ne me trompe pas rien a voir avec le swap

Où puis je voir cela au niveau de la config de mon kernel ?




humm... ca a l'air d'etre en dur ... avec une config soit nicksched soit
staicase (soit standard ) ca depend du flag dans le USE ...

d'autre part pour ceux qui ont 1Go de ram il y a l'option :
[*] 1Gb Low Memory Support
dans "Processor type and features" qui permet d'utiliser jusqu'a 1Go de
ram sans utiliser le highmem et donc sans reduction des performances...

a+
aurel


--------------enig99F4408C332294ECE56C94B6
Content-Type: application/pgp-signature; name="signature.asc"
Content-Description: OpenPGP digital signature
Content-Disposition: attachment; filename="signature.asc"

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.1 (GNU/Linux)
Comment: Using GnuPG with Thunderbird - http://enigmail.mozdev.org

iD8DBQFCVtN9tsnPPsovZP0RAj9cAKCIMX1e7UkFWQr6KMnxS4oIUL923gCfYBFj
rB70JI7ZRq+HzfYW5YoYRyg =pP1K
-----END PGP SIGNATURE-----

--------------enig99F4408C332294ECE56C94B6--
--
mailing list