Swisslinux.org

− Le carrefour GNU/Linux en Suisse −

 

Langue

 

Le Forum

Vous n'êtes pas identifié.

#1 11 Aug 2009 13:43:19

jean@adimp.ch
Illuminé(e)
Lieu: Marly
Date d'inscription: 10 Mar 2005
Messages: 1228
Site web

Ordinateur avec 12 GB de memoire vive

Salut,
J'ai vu une offre chez un hoster qui propose un serveur avec 12 GB de mémoire vive. La machine est équipé d'un processeur intel i7 920. Est-ce qu'il n'y a pas une limite de 4 GB pour la gestion de la mémoire vive avec linux?

Meilleures salutations.


--------------------------------------------------------
Jean Tinguely Awais
Ma vie sur twitter : http://www.twitter.com/tservi

Hors ligne

 

#2 11 Aug 2009 13:53:14

OdyX
Alumni (ex-membre)
Lieu: Vevey
Date d'inscription: 06 Jun 2006
Messages: 490
Site web

Re: Ordinateur avec 12 GB de memoire vive

Salut Jean,

en effet, les noyaux i386 sont limités à 4 Gb, mais ce n'est pas le cas des noyaux compilés spécialement (-pae je crois) et de l'architecture amd64…

++,

OdyX

Hors ligne

 

#3 11 Aug 2009 13:56:40

sebseb01
Président de Swisslinux.org
Date d'inscription: 25 Apr 2007
Messages: 417

Re: Ordinateur avec 12 GB de memoire vive

il y a une limite à 4 Go sur les platformes 32bits. (il existe un hacks sous linux pour dépasser cette limite)

Mais c'est un processeur 64 bits, donc avec un kernel approprié la limite est désormais a 16Eo (1Eo = 1000 Pétaoctet).

Hors ligne

 

#4 12 Aug 2009 08:36:13

jean@adimp.ch
Illuminé(e)
Lieu: Marly
Date d'inscription: 10 Mar 2005
Messages: 1228
Site web

Re: Ordinateur avec 12 GB de memoire vive

Salut,
Merci. Donc si j'achète un ordinateur 64 bits et que j'installe le noyau 64 bits, je peux dépasser les 4 GB de mémoire vive?

Meilleures salutations.


--------------------------------------------------------
Jean Tinguely Awais
Ma vie sur twitter : http://www.twitter.com/tservi

Hors ligne

 

#5 12 Aug 2009 10:51:41

fbianco
Membre du comité
Lieu: Suisse
Date d'inscription: 04 Feb 2005
Messages: 1455
Site web

Re: Ordinateur avec 12 GB de memoire vive

jean@adimp.ch a écrit:

Salut,
Merci. Donc si j'achète un ordinateur 64 bits et que j'installe le noyau 64 bits, je peux dépasser les 4 GB de mémoire vive?

Meilleures salutations.

Merci de lire les réponses :

sebseb01 a écrit:

Mais c'est un processeur 64 bits, donc avec un kernel approprié la limite est désormais a 16Eo (1Eo = 1000 Pétaoctet).

16 Eo = 16 Exaoctets = 16 000 000 000 gigaoctets, donc tu peux allègrement dépasser 4 Go


Utilisateur de Debian GNU/Linux, le système d'exploitation universel !

www : https://skadi.ch

Hors ligne

 

#6 12 Aug 2009 11:29:09

jean@adimp.ch
Illuminé(e)
Lieu: Marly
Date d'inscription: 10 Mar 2005
Messages: 1228
Site web

Re: Ordinateur avec 12 GB de memoire vive

Salut,
J'avais lu. Merci de la confirmation, je ne comprends pas bien les conditions qui font que je peux dépasser ces 4 GB. Le simple fait d'avoir une architecture 64 bits suffit? Comment vous arrivez au 16 EO , pourquoi pas 16 GB ( 4 GB * 4 GB )?

Meilleures salutations.


--------------------------------------------------------
Jean Tinguely Awais
Ma vie sur twitter : http://www.twitter.com/tservi

Hors ligne

 

#7 12 Aug 2009 11:46:00

sebseb01
Président de Swisslinux.org
Date d'inscription: 25 Apr 2007
Messages: 417

Re: Ordinateur avec 12 GB de memoire vive

les 16 Eo sont la limite maximum que peut supporter l'architecture 64bits

Hors ligne

 

#8 12 Aug 2009 12:00:44

BOFH
Admin
Lieu: Ecublens, VD
Date d'inscription: 03 Feb 2005
Messages: 862
Site web

Re: Ordinateur avec 12 GB de memoire vive

En fait l'adressage se fait par octets, donc c'est 4x10^9 o * 4x10^9 o = 16x10^18 o. Sur une architecture qui adresserait par mots, ca serait un peu plus grand.

Note que ce n'est pas un problème spécifique à Linux. Windows 32bits ne peut pas non plus adresser plus de 4Go de mémoire. Le hack 32bits sur Linux permet a l'OS d'adresser un total plus grand, mais chaque processus est quand même limité à 4Go, alors qu'en 64bit un processus peut en demander plus.

Hors ligne

 

#9 12 Aug 2009 12:01:25

fbianco
Membre du comité
Lieu: Suisse
Date d'inscription: 04 Feb 2005
Messages: 1455
Site web

Re: Ordinateur avec 12 GB de memoire vive

La limite c'est juste le nombre d'adresses mémoire que tu peux coder avec 64 bits

2^64 = 18446744073709551616 o
2^32 = 4294967296 o

Plus d'info sur wikipédia : http://fr.wikipedia.org/wiki/Processeur_64_bits


Utilisateur de Debian GNU/Linux, le système d'exploitation universel !

www : https://skadi.ch

Hors ligne

 

#10 12 Aug 2009 12:03:14

OdyX
Alumni (ex-membre)
Lieu: Vevey
Date d'inscription: 06 Jun 2006
Messages: 490
Site web

Re: Ordinateur avec 12 GB de memoire vive

Parce que justement, 4Gio * 4 Gio, ça fait pas 16 Gio, mais bien 16 Eio.

Démo :

* 4 Gio = 4 gibi octets = 4 * 2³⁰ octets
* 4 * 2³⁰ * 4 * 2³⁰ = 16 * 2⁶⁰ = 16 exbi octets = 16 Eio

CQFD

Hors ligne

 

#11 12 Aug 2009 12:07:52

jean@adimp.ch
Illuminé(e)
Lieu: Marly
Date d'inscription: 10 Mar 2005
Messages: 1228
Site web

Re: Ordinateur avec 12 GB de memoire vive

Salut,
Merci pour vos précisions. OK pour 4 GB * 4 GB = 16 GB^2 = 16 EB

Meilleures salutations.


--------------------------------------------------------
Jean Tinguely Awais
Ma vie sur twitter : http://www.twitter.com/tservi

Hors ligne

 

#12 12 Aug 2009 12:17:00

Eggman
Admin
Lieu: Grand-Lancy(GE)
Date d'inscription: 17 Nov 2004
Messages: 1133
Site web

Re: Ordinateur avec 12 GB de memoire vive

jean@adimp.ch a écrit:

je ne comprends pas bien les conditions qui font que je peux dépasser ces 4 GB.

Ben, 4 Gio, c'est la limite d'adressage pour un processeur 32 bits, soit 2^32.

Le simple fait d'avoir une architecture 64 bits suffit?

Par définition oui, si c'est compilé en 64 bits.


En détail, sur wikipédia :
http://fr.wikipedia.org/wiki/64_bits
http://fr.wikipedia.org/wiki/Octet
http://fr.wikipedia.org/wiki/Pr%C3%A9fi … ernational
http://fr.wikipedia.org/wiki/IEC_60027-2

[EDIT]
Ah, Zut, je suis trop lent...


"It always takes longer than you expect, even when you take into account Hofstadter's Law."
Douglas Hofstadter, Gödel, Escher, Bach: An Eternal Golden Braid

Hors ligne

 

#13 12 Aug 2009 13:10:16

jean@adimp.ch
Illuminé(e)
Lieu: Marly
Date d'inscription: 10 Mar 2005
Messages: 1228
Site web

Re: Ordinateur avec 12 GB de memoire vive

Salut,
Sur l'article de wikipedia ils attirent l'attention sur le fait qu'il faut disposer de pilotes 64 bits et des logiciels 64 bits. Si je veux faire un serveur web avec une architecture 64 bits, est-ce que je dois disposer d'un apache 64 bits ou bien il me suffit d'avoir un linux 64 bits?

Meilleures salutations.


--------------------------------------------------------
Jean Tinguely Awais
Ma vie sur twitter : http://www.twitter.com/tservi

Hors ligne

 

#14 12 Aug 2009 13:43:02

OdyX
Alumni (ex-membre)
Lieu: Vevey
Date d'inscription: 06 Jun 2006
Messages: 490
Site web

Re: Ordinateur avec 12 GB de memoire vive

Salut,

le mieux est d'installer une distribution et de suivre ce qu'elle propose… Par exemple (c'est ce que je connais), sous Debian amd64, tout est compilé en 64 bits.

++, OdyX

Hors ligne

 

#15 12 Aug 2009 14:11:57

BOFH
Admin
Lieu: Ecublens, VD
Date d'inscription: 03 Feb 2005
Messages: 862
Site web

Re: Ordinateur avec 12 GB de memoire vive

Hello,

  "Faire un serveur web avec une architecture 64bits" ça veut pas dire grand chose.

  Si tu as beaucoup de contenu statique et que tu veux exploiter ta quantité de mémoire importante pour en mettre en cache un maximum, avoir un noyau 64bits suffira.

  Concernant Apache lui-même, la différence sera certainement marginale, un serveur HTTP  est plutôt limité par les E/S en général.

Hors ligne

 

#16 12 Aug 2009 15:00:17

jean@adimp.ch
Illuminé(e)
Lieu: Marly
Date d'inscription: 10 Mar 2005
Messages: 1228
Site web

Re: Ordinateur avec 12 GB de memoire vive

Salut,
Merci pour vos réponses. J'aimerais encore comprendre plus : si j'ai un noyau 64 bits, avec gcc 64 bits et que je compile manuellement les applications et les pilotes, je suis alors sûr que tout est 64 bits ou bien en fonction de certaines librairies je n'ai pas accès au "64 bits"?

Meilleures salutations.


--------------------------------------------------------
Jean Tinguely Awais
Ma vie sur twitter : http://www.twitter.com/tservi

Hors ligne

 

#17 12 Aug 2009 18:46:53

[GO]Skywalker13
Modérateur
Lieu: Choëx (VS)
Date d'inscription: 05 Oct 2004
Messages: 896
Site web

Re: Ordinateur avec 12 GB de memoire vive

Si le target de ton compiler (ou cross-compiler) est x86_64-linux-gnu alors il fera du 64 bits par défaut. T'as toujours moyen de forcer du 32 avec le flag -m32.

`gcc -v`pour voir le target.


Mathieu SCHROETER
log.schroetersa.ch

Hors ligne

 

#18 12 Aug 2009 18:50:44

tguillod
Prêcheu(r|se) du libre
 
Lieu: Zuerich
Date d'inscription: 23 Oct 2007
Messages: 233

Re: Ordinateur avec 12 GB de memoire vive

La limite du 2^64 il totalement théorique, il y a des énormes problèmes avec le demand paging bien avant cette limite.

Sur 32 bits, on les répartit comme ca (en général) :  10 (premier niveau),10 (deuxième niveau) ,12 (offset => 4KB / page).

Sur 64 bits, il faudrait 5 niveaux, ce qui est trop lent.  Donc les pages tables sont mit dans un hash.

Donc je pense que si l'on met des trop de mémoires, on obtient beaucoup de collisions donc cela devient lent.


Attention, ce sont des considérations théoriques, je sais pas quelle est la limite ou les problèmes apparaissent.

Dernière modification par tguillod (12 Aug 2009 18:51:13)


Make it run, make it correct, make it fast : Keep it SIMPLE

Hors ligne

 

#19 12 Aug 2009 18:57:42

[GO]Skywalker13
Modérateur
Lieu: Choëx (VS)
Date d'inscription: 05 Oct 2004
Messages: 896
Site web

Re: Ordinateur avec 12 GB de memoire vive

fbianco a écrit:

La limite c'est juste le nombre d'adresses mémoire que tu peux coder avec 64 bits

2^64 = 18446744073709551616 o
2^32 = 4294967296 o

Plus d'info sur wikipédia : http://fr.wikipedia.org/wiki/Processeur_64_bits

Ça dépend les génération car la première implémentation des amd64 ne dépassaient pas 48 bits pour l'adressage virtuel. Aucun idée pour les processeurs récents. D'ailleurs c'est visible avec le /proc/cpuinfo.. par exemple avec un X2 3800 (les tout premiers):

Code:

address sizes    : 40 bits physical, 48 bits virtual

Mathieu SCHROETER
log.schroetersa.ch

Hors ligne

 

#20 12 Aug 2009 19:00:38

tguillod
Prêcheu(r|se) du libre
 
Lieu: Zuerich
Date d'inscription: 23 Oct 2007
Messages: 233

Re: Ordinateur avec 12 GB de memoire vive

Je sais pas maintenant, mais avant les adresses de 48 bits était pour la segmentation, il s'agit donc d'adresse logique.

48 bits => segmentation => 32 bits logiques => pagination => 32 bits physiques


Donc cela ne limite pas la taille des adresses physiques. Mais cela a du changer.


Make it run, make it correct, make it fast : Keep it SIMPLE

Hors ligne

 

#21 12 Aug 2009 19:46:03

Trim
Gourou(e) du libre
Lieu: Saxon, Valais
Date d'inscription: 17 Oct 2007
Messages: 364
Site web

Re: Ordinateur avec 12 GB de memoire vive

jean@adimp.ch a écrit:

Salut,
Merci pour vos réponses. J'aimerais encore comprendre plus : si j'ai un noyau 64 bits, avec gcc 64 bits et que je compile manuellement les applications et les pilotes, je suis alors sûr que tout est 64 bits ou bien en fonction de certaines librairies je n'ai pas accès au "64 bits"?

Meilleures salutations.

C'est tout le problème que j'avais eu : je voulais compiler un noyeau pour un processeur 32 bits, mais pour être plus rapide je l'ai fait sur un quadri core qui était en 64 bits, alors par défaut, ça m'a compilé en 64 bits yikes
Un autre problème que tu vas rencontrer avec le 64 bits, c'est que dès que tu veux un programme hors de ta distribution mais en 64 bits tu ne trouvera peut-être pas.

Hors ligne

 

#22 12 Aug 2009 20:18:21

[GO]Skywalker13
Modérateur
Lieu: Choëx (VS)
Date d'inscription: 05 Oct 2004
Messages: 896
Site web

Re: Ordinateur avec 12 GB de memoire vive

Trim a écrit:

Un autre problème que tu vas rencontrer avec le 64 bits, c'est que dès que tu veux un programme hors de ta distribution mais en 64 bits tu ne trouvera peut-être pas.

C'est aussi pour ça qu'il y a les lib32 packagées avec les distribs 64 bits.


Mathieu SCHROETER
log.schroetersa.ch

Hors ligne

 

#23 12 Aug 2009 23:51:34

Trim
Gourou(e) du libre
Lieu: Saxon, Valais
Date d'inscription: 17 Oct 2007
Messages: 364
Site web

Re: Ordinateur avec 12 GB de memoire vive

[GO]Skywalker13 a écrit:

C'est aussi pour ça qu'il y a les lib32 packagées avec les distribs 64 bits.

Ah bon, je ne savais pas ça. J'avais essayé de faire tourner à la main un jeu en 32 bits, mais je n'avais pas réussi (il y avait trop de dépendances): je recherchais à la main les librairies 32 bits. Si j'avais su que ces paquets existaient, je serais peut-être resté en 64 bits.

Dernière modification par Trim (12 Aug 2009 23:52:01)

Hors ligne

 

#24 13 Aug 2009 08:31:39

jean@adimp.ch
Illuminé(e)
Lieu: Marly
Date d'inscription: 10 Mar 2005
Messages: 1228
Site web

Re: Ordinateur avec 12 GB de memoire vive

Salut,
Merci pour vos explications. Est-ce que le fait d'utiliser un librairie compilée en 32 bits ne "nuit" pas au système? C'est a dire que le système n'a plus accès au 16 EB?

Meilleures salutations.


--------------------------------------------------------
Jean Tinguely Awais
Ma vie sur twitter : http://www.twitter.com/tservi

Hors ligne

 

#25 13 Aug 2009 10:57:34

[GO]Skywalker13
Modérateur
Lieu: Choëx (VS)
Date d'inscription: 05 Oct 2004
Messages: 896
Site web

Re: Ordinateur avec 12 GB de memoire vive

Si tu utilises une lib32 c'est que l'application qui l'utilise est elle même en 32. Ce n'est pas du mix entre le 32 et le 64.
Ce qui veut dire que les libs sont à doubles.. en 32 et en 64. Pour autant que t'installes les lib32. Par exemple la libc6 sur mon systeme:

Code:

schroeterm@athlonium:~$ ldd /lib32/libc.so.6 
    /lib32/ld-linux.so.2 (0xf7e22000)
    linux-gate.so.1 =>  (0xf7e21000)
schroeterm@athlonium:~$ ldd /lib/libc.so.6 
    /lib64/ld-linux-x86-64.so.2 (0x00007f4cc4764000)
    linux-vdso.so.1 =>  (0x00007fffccbfe000)
schroeterm@athlonium:~$ file /lib32/libc-2.9.so 
/lib32/libc-2.9.so: ELF 32-bit LSB shared object, Intel 80386, version 1 (SYSV), dynamically linked (uses shared libs), for GNU/Linux 2.6.15, stripped
schroeterm@athlonium:~$ file /lib/libc-2.9.so 
/lib/libc-2.9.so: ELF 64-bit LSB shared object, x86-64, version 1 (SYSV), dynamically linked (uses shared libs), for GNU/Linux 2.6.15, stripped

Les applications 32 et 64 peuvent cohabiter ensemble sans problème. Mais une application 32 ne pourra jamais accéder à plus juste parce que le noyau est 64 bits. Si tu ne trouves pas certaines app en 64 mais qu'elles sont libres.. alors compile les en 64. C'est pas bien compliqué. Et c'est bien mieux que d'utiliser les lib32.

Quoi qu'il en soit, si t'as un processeur 64 bits il n'y a aucune bonne raison de ne pas l'utiliser en 64 (a part des apps proprio qui seraient dispo qu'en 32, ou alors d'être un novice absolu et de ne pas savoir où tu tapes). En 64 le processeur à accès à un peu plus du double de registre (la RAM ce n'est pas le seul intérêt, de loin pas). L'utiliser en 32 bits c'est comme brider une maserati de 250 chevaux à 80 km/h. C'est du gâchis.


Mathieu SCHROETER
log.schroetersa.ch

Hors ligne

 

Pied de page des forums

Powered by FluxBB