begin process at 2012 02 15 19:38:56
  Trouver un code source :
 
dans
 
Accueil > Forum > 

JAVA / J2EE / J2ME

 > 

Divers

 > 

Général

 > 

Java RAM&Swap


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

Java RAM&Swap

jeudi 9 juillet 2009 à 10:28:51 | Java RAM&Swap

heavenboy

Bonjour,
je fais tourner de grosses applications java sur ubuntu, qui me prennent toute la RAM. Plus question de faire d'autre chose quand ces applications tournent. J'ai entendu parler de la swap. J'ai lu que la swap pouvait pallier la ram dans de tel cas. Pourriez vous me dire comment je peux dire à mes applications de tourner sur la swap et non sur la ram.

Merci.
jeudi 9 juillet 2009 à 10:35:28 | Re : Java RAM&Swap

kirua12

Réponse acceptée !
Salut,

le swap est géré par l'OS et non par l'appli. Ca fait partie de ce qu'on appelle la "mémoire virtuelle" (RAM + swap)
Sur un linux, la RAM est utilisée au max. Si ce n'est pas suffisant c'est le système qui va décider d'utiliser le swap.
De plus l'utilisation du swap ralentit l'application car les accès disque sont plus lents que les accès en RAM.


jeudi 9 juillet 2009 à 10:52:44 | Re : Java RAM&Swap

Kotomine

Réponse acceptée !
Et surtout, quelques notions de Système d'exploitation (et d'ordinateur).

La mémoire ne peut être utilisée (pour faire des calculs) QU'UNE FOIS DANS LA RAM !

Il pourrait être possible de brancher les bus d'addresse et de données du CPU sur un controleur de disque, et d'avoir ainsi une "ram sur disque dur".. pour un CPU de 10 hz ! (donc la seule chose qui va tourner, c'est pas ton appli mais ton disque ...)

Mais, cela dit , les systèmes d'exploitation découpent la mémoire des programmes en "pages" . Une page peut être sur la ram, ou dans la swap.

Aux programmeurs de choisir le bon design pour minimiser le nombre de pages accédées en même temps.



Ceci dit, sur linux , tu peux à l'aide de la commande "nice", réduire l'importance d'une appli dans le CPU (et donc dans la ram, car linux met dans la RAM ce qui n'est pas actif)


nice -n 20 java -jar monjar.jar

La commande ci-dessus lance une appli java avec la priorité minimale (20)
Plus le nice est grand,  plus la priorité est basse.




;I'm just keeping the hopeless cross to increase the meaninglessness
jeudi 9 juillet 2009 à 10:58:00 | Re : Java RAM&Swap

DARKSIDIOUS

Membre Club Administrateur CodeS-SourceS
Réponse acceptée !
Salut,

Il ne tiens qu'à toi d'optimiser ton programme pour qu'il consomme moins de mémoire, en utilisant des patterns adéquat : le poids mouche par exemple qui permet d'éviter d'avoir une multitude de petits objets en mémoire (qui prennent donc beaucoup de mémoire) et ainsi économiser beaucoup de RAM et de SWAP.

Rappelle toi aussi qu'en java un objet non utilisé n'est pas forcément libéré de la mémoire, donc ca peut être normal qu'un programme qui utilise de nombreux objets temporaire voit son occupation mémoire grimper très haut, et quand le garbage collector se déclenche, son occupation mémoire retombe à des niveaux bien plus raisonnables.
jeudi 9 juillet 2009 à 11:11:43 | Re : Java RAM&Swap

Kotomine

Réponse acceptée !
yup mais en général, objet non inutilisé et garbage collector pas passé -> objet non déplacé en mémoire et non écrit/lu -> L'OS balance sa page dans la swap (enfin, si la page n'était utilisée que par l'objet ... )

on va retomber dans les eternels débats d'obtimisations de mallocateur de mémoire  visant à regrouper les objets peu utilisés dans une même zone de mémoire.. ce qu'on ne peut PAS faire en java :p

I'm just keeping the hopeless cross to increase the meaninglessness
vendredi 10 juillet 2009 à 22:40:14 | Re : Java RAM&Swap

heavenboy

Merci pour vos réponses


Cette discussion est classée dans : java, ram, applications, tourner, swap


Répondre à ce message

Sujets en rapport avec ce message

faire tourner en tant que service un code JAVA [ par coyote_fx ] Bonjour à tousBen voilà c'est encore moi ,Mon code va devoir tourner en tant que service sur un serveur windows 2000 ou 2003 et doit rester compatible Compatibilité des applications Microsoft J++ [ par lcmartin ] Bonjour,J'ai beau avoir chercher (enfin j'ai parcourue le forum koi), je n'ai pas trouvé de réponse à ma question :Une application java codé avec Ms V JTAPI, GJTAPI, et autres applications Java pour TAPI... [ par grschtroumpf ] Bonjour à tousJ'ai les connaissances de base en programmation JAVA et de l'utilisation de l'API TAPI dans le cadre CTI, et j'aimerais faire une applic options de l'interpreteur java ? [ par micquer ] pour lancer l'execution d'un prog  il existe des options mais MAL DOCUMENTEE  meme sur "java in a nutshell" d' OREILLY !-Xbatch-Xmx ram-Xms ram-Xss ta Idées d'applications Java [ par sabiha93 ] Bonjour à tous,Voila, je suis en 2ème année de BTS Informatique de Gestion option développeur d'applications. Pour mon examen, je dois développer une Application Mobile [ par nethacker ] Bonjour,je suis un habitué de Delphi et la je voudrais me mettre au java, donc ca sera mon premier message sur ce forum !en fait je me demande quel co déterminer tail du ram avec java sur windows [ par ahmed1106 ] Bonjour comment déterminer la tail du ram avec java sur windows ? Pb avec Java 3D [ par vincem35 ] Vincebonjour,je sais faire tourner un cube avec Java 3d ça c'est simple.mais pour que le cube tourne sur lui même, il faut que le cube soit en positio lancement d' applications via batch [ par juflata ] J' ai ecrit mes applications et je désire les lancer en utilisant les fichiers batch. Jusque la tout va bien mais seulement voila je veux modifier le performance des entrée/sorite et de la ram en java [ par anasluimeme ] bonjour,j'ai besoin d'aide et c'est trrès urgent.Il s'agit de développer une application de gestion des performances de Java, axée sur la mesure des p


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Février 2012
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
272829    

Consulter la suite du CalendriCode

 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 2,090 sec (4)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales