Vous ne trouvez pas de réponse à votre problème ? Alors posez la question dans le forum. Souvenez-vous qu'il n'y a jamais de question bête, mais rester dans l'ignorance parce que l'on n'ose pas poser une question, ça c'est une erreur !

Sujet : memoire qui augmente [ Système / Mémoire ] (cudenetf)

jeudi 27 novembre 2008 à 07:47:14 | memoire qui augmente

cudenetf

Bonjour,
j'ai tuojurs le semem probleme d ememoir euqi augmente et fini par saturer ...
J'ai un timer
achaque tick je vide, puis je charge un datatable a partir d'un dataadapter ( odbc)
et c monte ... pour arriver a ressources systemes insuffisantes ...

J'ai essayé d eplusieurs manieres :
- en ayant un datatable "globale" donc que je vide puis que je rempli
- en creant et detruisant le datatable a chaque chargement

meme resultat , au bout de dix minutes j'obtiens le message d'erreur ...

Savez vous commet resoudre ce probleme et d'ou il peut venir ( j'ai essayé des truc savec garbage collector et ca ne semble pas resoudre le pb non plus)
a moins que je l'utilise mal ...

bon je met toujours mon petit bout de code :
        void charger()
        {
            DataSet dt = new DataSet();
            da.Fill(dt);
            dt.Dispose();
            dt = null;
            GC.Collect();
        }

jeudi 27 novembre 2008 à 09:50:43 | Re : memoire qui augmente

gglamicose

Salut cudenetf !

Tout d'abord, fais "un peu plus" attention a ton orthographe, car il faut vraiment en vouloir pour se forcer à lire tes hiéroglyphes...
Pour ce qui est de l'utilisation du GC, ça m'a l'air correct (je ne l'ai utilisé qu'en JAVA, mais c'est 2 langages très proches). Par contre si tu utilise .Dispose, dt = null ne sert à rien !
As-tu pensé que le problème pouvait venir d'ailleurs ? On manque d'infos pour t'aider, mais à première vue si tu explose ta mémoire sa ne devrait pas venir de là...

jeudi 27 novembre 2008 à 13:10:54 | Re : memoire qui augmente

Bidou

Administrateur CodeS-SourceS
Java et C# très proche?
Ca fait plus ou moims 6-7ans que je pratique les deux et à mon sens ça n'a pas grand chose en commun sauf que c'est deux langage orienté object. La comparaison s'arrête là (ha oui, une petite note personnelle: j'espère ne plus jamaias devoir faire de java d'ici peu de temps...)



-Blog-
-Site Perso-

vendredi 28 novembre 2008 à 13:21:44 | Re : memoire qui augmente

cudenetf

Désolé pour mon ortographe,

faites un test

mon programme est un form qui ne contient qu'un timer ( je met interval=100)

et j'ai ecrit juste la fonction timer_tick

a chaque tick , je charge des données (en plus il n'y a qu'une ligne dans la table) et ca grimpe ...
dites moi ce que vous donne le test, ca ira vite a realiser

(avec un ficher .dbf je vous en aurez bien donner un mais je vois pas comment on met le spieces jointes)


samedi 31 janvier 2009 à 16:41:32 | Re : memoire qui augmente

coq

Administrateur CodeS-SourceS
Salut,

"Par contre si tu utilise .Dispose, dt = null ne sert à rien !"
Dans l'exemple courant c'est vrai, vu que la référence (locale) sera de toute façon invalidée à la sortie de la méthode.
Maintenant imagines que derrière l'appel à Dispose il y ai un traitement de 3 heures avant la sortie de la méthode : la référence ne sera "invalidée" qu'au bout de ce traitement, l'objet ne sera donc pas élligible pour finalisation avant ce laps de temps.

Le pattern Dispose est là pour fournir une manière standard de mettre en place un code de nettoyage des ressources internes de l'objet, pas pour déclencher la finalisation.
Concernant GC.Collect, comme le dit la documentation, son appel ne garanti en rien une libération instantanée de la mémoire pouvant l'être.
Les mécanismes internes du GC continuent leur travail normal.

Pour le problème de crash évoqué ici il faudrait voir si le problème n'est pas ailleurs : le code cité exécuté en boucle ne devrait pas poser de problème (hormis le fait que le GC va consommer du temps à libérer de la mémoire).


/*
coq
MVP Visual C#
CoqBlog
*/



Cette discussion est classé dans : probleme, dt, datatable, memoire, augmente


Répondre à ce message

Sujets en rapport avec ce message

DataRows, pb création dynamique [ par georgeduke ] Bonjour, Je bloque ! Voilà mon problème... J'alimente un datagrid avec un DataTable que je construis manuellement, c'est à dire que je crée les DataC probleme avec datatable [ par rudhf ] bonjourj'ai un petit problème avec les datatable.j'ai trois tables contenues dans le même datasettable1 contient  les colonnes : code et poste (les de requete insert [ par imsse ] Bonjour tous le monde, je dois pourvoir me connecter a ma base pour inserer des donnees mais le code ne s'excute pas surement parce que jai oublier q Probleme de ressource memoire fill dataset [ par cudenetf ] Bonjour, je ne sais pas si je suis dans la bonne section.J'ai fait un programme scrutant un fichier c'est a dire que j'ai un formulaire qui est en win Mise à jour d'un dataGridView [ par KiwiCH ] Bonjour,J'ai ici un dataGridView qui ne fonctionne pas comme désiré. Je m'explique:J'ai une colonne "quantité", qui une fois changé doit mettre à jour C# - Prob de memoire [ par nataku662 ] Bonjour,J'ai un probleme :Error    1    Unexpected error writing metadata to file 'C:\Copie de Project\IHM\obj\Debug\IHM.exe' -- 'Mémoire insuffisante suprimer une ligne dans datagrid et datatable [ par Souliabdo ] Bonjour   <p class="MsoNormal" st Insertion datatable dans Mysql [ par Morgan_2956 ] Bonjour, Savez vous s'il est possible d'intégrer simplement une datatable dans la BD Mysql? D'avance merci probleme de securite [ par sindihebura ] Bonjour, j,ai développe une petite application de gestion des ventes ; mais j,ai un problème de mot de passe. quand j.entre un mot de passe incorrecte


Nos sponsors

Sondage...

CalendriCode

Juillet 2009
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
2728293031  

Consulter la suite du CalendriCode

Téléchargements

Logiciels à télécharger sur le même thème :

Comparez les prix Nouvelle version


LG KP501

Entre 9€ et 159€


Photothèque Nouveau !



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
Temps d'éxécution de la page : 1,139 sec

Google Coop CodeS-SourceS Google Coop CodeS-SourceS


Certaines images présentes sur le site (notament certains avatars) sont issues des collections IconShock, donc si vous souhaitez utiliser ces icons vous devez les acheter, ne les copiez pas et ne utilisez pas dans vos sites et applications sans les avoir commandé.