Delphi
abec
Messages postés
88
Date d'inscription
Statut
Membre
Dernière intervention
-
Truffe2004 Messages postés 8 Date d'inscription Statut Membre Dernière intervention -
Truffe2004 Messages postés 8 Date d'inscription Statut Membre Dernière intervention -
Bonjour, chers abonnés de CCM.
Je suis entrait de faire une application en delphi. mais lorsque je compile mn programme 2 a 3 fois de suite,un message d'erreur apparait en m'informant que "la Mémoire pour cette operation est insuffisante".
Je voudrais savoir alors comment remedier a ça car ça commence a me fatiguer.
Merci pour le temps que vous allez prendre pour m'aider.
Coordialement.
Je suis entrait de faire une application en delphi. mais lorsque je compile mn programme 2 a 3 fois de suite,un message d'erreur apparait en m'informant que "la Mémoire pour cette operation est insuffisante".
Je voudrais savoir alors comment remedier a ça car ça commence a me fatiguer.
Merci pour le temps que vous allez prendre pour m'aider.
Coordialement.
A voir également:
- Delphi
- Delphi 7 - Télécharger - Langages
- Bde delphi - Télécharger - Édition & Programmation
- Delphi 7 serial number - Forum Delphi
- Delphi ds150e reprogrammation moteur pdf ✓ - Forum Delphi
- Main.exe delphi - Forum Linux / Unix
7 réponses
Salut,
Au boulot nous avions fait des outils pour comparer les ressources prise par les compilateur.
Ce de microsoft utilisent tout le CPU le temps de la compilation te scotchant ton PC le temps de la compilation.
Les outils de Borland, quand à eux utilise énormément de mémoire. Et malheureusement la gestion de mémoire n'est pas parfaite et on a remarqué qu'à la fin de la compilation Delphi par exemple ne libère pas toutes les plages de mémoire qu'il c'est réservé.
Du coup plus tu compile plus il en garde sans jamais les libérer. Don si déjà au début tu n'as pas beaucoup de mémoire au bout de 2 ou 3 fois cela peut donner ton problème.
. Essai de rebooter Delphi et regarde en même temps s'il libère de la mémoire... (fais des tests en lançant + compile + arrêt de delphi pour voir si à la fin tu n'as pas plus de mémoire utilisé qu'avant le lancement de Delphi)
. Si non reboot ton PC
. Ajoute de la mémoire.
.Ajoute de la mémoire virtuelle (dans les "propriétés système" dans le slide "Avancé" dans "Performance")
Déjà combien de mémoire as-tu sur ton PC ?
Au boulot nous avions fait des outils pour comparer les ressources prise par les compilateur.
Ce de microsoft utilisent tout le CPU le temps de la compilation te scotchant ton PC le temps de la compilation.
Les outils de Borland, quand à eux utilise énormément de mémoire. Et malheureusement la gestion de mémoire n'est pas parfaite et on a remarqué qu'à la fin de la compilation Delphi par exemple ne libère pas toutes les plages de mémoire qu'il c'est réservé.
Du coup plus tu compile plus il en garde sans jamais les libérer. Don si déjà au début tu n'as pas beaucoup de mémoire au bout de 2 ou 3 fois cela peut donner ton problème.
. Essai de rebooter Delphi et regarde en même temps s'il libère de la mémoire... (fais des tests en lançant + compile + arrêt de delphi pour voir si à la fin tu n'as pas plus de mémoire utilisé qu'avant le lancement de Delphi)
. Si non reboot ton PC
. Ajoute de la mémoire.
.Ajoute de la mémoire virtuelle (dans les "propriétés système" dans le slide "Avancé" dans "Performance")
Déjà combien de mémoire as-tu sur ton PC ?
Merci de m'avoir répondu en si peu.
pour ce qui est de ma memoire, j'ai 504 Mo.
est ce que vous ne pouvez pas pensez que l'image que j'ai creer en powerPoint et que j'ai tranformer en jpg avec Paint pour le mettre sur mes fiches comme fond d'ecran, n'est pas la cause de cette gourmandise de memoire ?
Si vous avez des propositions a me faire, je l'ai recevrais avec joie
pour ce qui est de ma memoire, j'ai 504 Mo.
est ce que vous ne pouvez pas pensez que l'image que j'ai creer en powerPoint et que j'ai tranformer en jpg avec Paint pour le mettre sur mes fiches comme fond d'ecran, n'est pas la cause de cette gourmandise de memoire ?
Si vous avez des propositions a me faire, je l'ai recevrais avec joie
Personnellement je trouve que 512Mo pour XP c'est le minimum, car windows utilise déjà pas mal de mémoire, alors si en plus tu veux faire de la compilation de projet quelque peut compliqués cela devient très très limite.
Personnellement je conseille au moins 1Go pour faire de la compile de programmes légers et 2Go pour des programmes plus importants (enfin très important c'est du style 45 minutes de compilation sur de bon PC pour moi :o))
Je pense que le problème vient franchement de ta mémoire.
Maintenant la mémoire ne vaut plus grand chose, je pense que si tu programme régulièrement sur ce PC cela peut-être un investissement intéressant à faire.
En mémoire virtuelle as-tu mis le maximum sur tes disques dur ? au pire des cas cela peut te permettre de passer ... lentement car ça va swaper a fond entre la mémoire vive et virtuelle ... mais bon, cela peut t'aider à passer cette compilation....
Personnellement je conseille au moins 1Go pour faire de la compile de programmes légers et 2Go pour des programmes plus importants (enfin très important c'est du style 45 minutes de compilation sur de bon PC pour moi :o))
Je pense que le problème vient franchement de ta mémoire.
Maintenant la mémoire ne vaut plus grand chose, je pense que si tu programme régulièrement sur ce PC cela peut-être un investissement intéressant à faire.
En mémoire virtuelle as-tu mis le maximum sur tes disques dur ? au pire des cas cela peut te permettre de passer ... lentement car ça va swaper a fond entre la mémoire vive et virtuelle ... mais bon, cela peut t'aider à passer cette compilation....
Une fois encore merci infiniment.
Mai une derniere chose: as tu mis le maximum sur tes diques?
je ne comprend pas cette question.
Merci de m'eclaircir davantage
Mai une derniere chose: as tu mis le maximum sur tes diques?
je ne comprend pas cette question.
Merci de m'eclaircir davantage
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Comme tu le sais Windows utilise un système de mémoire virtuelle. En gros quand il a utilisé toute la mémoire physique (RAM) il commence à utiliser de la mémoire virtuelle.
La mémoire virtuelle est, en fait, un fichier que Windows créé sur le ou les disques dur du système. Quand toute la RAM est utilisée l'OS descend de la RAM sur le disque dur. Par exemple des applications ou parties d'applications ouvertes mais qui n'ont pas servit depuis peut. En gros c'est une zone du disque que windows utilise comme s'il s'agissait de mémoire vive (RAM). Donc quand tu vois que ton système commence à swaper (le disque dur travail beaucoup) il faut libérer de la mémoire pour éviter le swap entre la RAM et le disque dur (grosse lenteur si non).
C'est pour cela que, par exemple, quand tu ouvres la fenêtre d'une application que tu n'as pas utilisée depuis que tu l'as ouverte, des fois cela prend 1 ou 2 secondes et que tu vois que l'OS lit sur ton disque dur. En fait il passe les applications de la RAM à la mémoire virtuelle quand il ne s'en sert pas et vise versa quand il se sert de nouveau d'un programme qui était ouvert mais qui ne servait plus et que la RAM est pleine.
Comme je te le disais des fois il ne descend qu'un partie de l'application dans la mémoire virtuelle (exemple tu plis ton thunderbird dans la barre des tâches, et il va descendre en mémoire virtuelle la partie visuelle de l'application mais va garder en RAM la partie qui se connecte et scrute les mails sur les serveurs).
Pour gérer la mémoire virtuelle soit tu indiques à l'OS ce qu'il a le droit de prendre comme place sur les disques dur, soit tu le règles toi même. Et si tu as plusieurs disques durs tu peux indiquer par disque à l'OS ce qu'il doit faire.
Donc pour cela tu règle ça comme suit :
-Sur ton bureau sur l'icône "Poste de travail" avec le bouton droit de la souris tu sélectionne "Propriétés"
- dans la fenêtre "Propriétés système" tu sélectionnes l'onglet "Avancé".
- dans cet onglet tu cliques sur le bouton "Paramètres" de la partie "Performances"
- dans la nouvelle fenêtre "Options de performances" tu cliques sur le bouton "Modifier" de l'onglet "Avancé"
- là pour chaque disque de ton système (pas les CD cela va de soit :o)) tu clique sur "Taille gérée par le système" et surtout à chaque fois tu clique sur le bouton "définir".
Ensuite tu referme cette fenêtre en cliquant tu "0K"
Dans la fenêtre "Options de performance" tu dois voir au dessus du bouton "Modifier" de combien de mémoire virtuelle (paginée / fichiers d'échange) tu dispose.
Ci tout etait déjà sur "Taille gérée par le système" ... désolé mais tu ne peux pas faire grand chose si ce n'est peut-être nettoyer ton disque dur...
La mémoire virtuelle est, en fait, un fichier que Windows créé sur le ou les disques dur du système. Quand toute la RAM est utilisée l'OS descend de la RAM sur le disque dur. Par exemple des applications ou parties d'applications ouvertes mais qui n'ont pas servit depuis peut. En gros c'est une zone du disque que windows utilise comme s'il s'agissait de mémoire vive (RAM). Donc quand tu vois que ton système commence à swaper (le disque dur travail beaucoup) il faut libérer de la mémoire pour éviter le swap entre la RAM et le disque dur (grosse lenteur si non).
C'est pour cela que, par exemple, quand tu ouvres la fenêtre d'une application que tu n'as pas utilisée depuis que tu l'as ouverte, des fois cela prend 1 ou 2 secondes et que tu vois que l'OS lit sur ton disque dur. En fait il passe les applications de la RAM à la mémoire virtuelle quand il ne s'en sert pas et vise versa quand il se sert de nouveau d'un programme qui était ouvert mais qui ne servait plus et que la RAM est pleine.
Comme je te le disais des fois il ne descend qu'un partie de l'application dans la mémoire virtuelle (exemple tu plis ton thunderbird dans la barre des tâches, et il va descendre en mémoire virtuelle la partie visuelle de l'application mais va garder en RAM la partie qui se connecte et scrute les mails sur les serveurs).
Pour gérer la mémoire virtuelle soit tu indiques à l'OS ce qu'il a le droit de prendre comme place sur les disques dur, soit tu le règles toi même. Et si tu as plusieurs disques durs tu peux indiquer par disque à l'OS ce qu'il doit faire.
Donc pour cela tu règle ça comme suit :
-Sur ton bureau sur l'icône "Poste de travail" avec le bouton droit de la souris tu sélectionne "Propriétés"
- dans la fenêtre "Propriétés système" tu sélectionnes l'onglet "Avancé".
- dans cet onglet tu cliques sur le bouton "Paramètres" de la partie "Performances"
- dans la nouvelle fenêtre "Options de performances" tu cliques sur le bouton "Modifier" de l'onglet "Avancé"
- là pour chaque disque de ton système (pas les CD cela va de soit :o)) tu clique sur "Taille gérée par le système" et surtout à chaque fois tu clique sur le bouton "définir".
Ensuite tu referme cette fenêtre en cliquant tu "0K"
Dans la fenêtre "Options de performance" tu dois voir au dessus du bouton "Modifier" de combien de mémoire virtuelle (paginée / fichiers d'échange) tu dispose.
Ci tout etait déjà sur "Taille gérée par le système" ... désolé mais tu ne peux pas faire grand chose si ce n'est peut-être nettoyer ton disque dur...
J'ai oublié la manipe suivante que tu peux tenté :
Windows XP ne vide pas automatiquement le contenu de Pagefile.sys (fichier d'échange) lorsque tu redémarre ton PC.
Il peut s'avérer utile de vider ce fichier à chaque arrêt.
Pour cela:
* Clique sur Démarrer, puis Exécuter (ou Ctr +R)
* Saisisse regedit puis clique sur OK
* Recherche la clé HKey_Local_Machine/System/CurrentControlSet/Control/Session Manager/Memory Management
* Sélectionne la valeur ClearPageFileAtShutdown (si elle n'existe pas tu la créée)
* Mets sa valeur à 1 pour l'activer
.
La taille recommandée du fichier d'échange équivaut à 1,5 fois la taille de la mémoire vive de votre système.
Windows XP ne vide pas automatiquement le contenu de Pagefile.sys (fichier d'échange) lorsque tu redémarre ton PC.
Il peut s'avérer utile de vider ce fichier à chaque arrêt.
Pour cela:
* Clique sur Démarrer, puis Exécuter (ou Ctr +R)
* Saisisse regedit puis clique sur OK
* Recherche la clé HKey_Local_Machine/System/CurrentControlSet/Control/Session Manager/Memory Management
* Sélectionne la valeur ClearPageFileAtShutdown (si elle n'existe pas tu la créée)
* Mets sa valeur à 1 pour l'activer
.
La taille recommandée du fichier d'échange équivaut à 1,5 fois la taille de la mémoire vive de votre système.