Python & tkinter Free memory … Strange Behaviour












0















I have one code used to collect and analyze some information from a database through ODBC connection, the code is as bellow:



conn = pyodbc.connect(connection_name)
cur = conn.cursor()
rows = cur.execute(qquery)
row = cur.fetchone()
while row is not None:
....Do whatever required....

cur.close()
del rows
del cur
del row
conn.close()
del conn


While monitoring the memory usage, and as the query is collecting huge data, I can see that the memory usage is going up.



After showing the information, deleting the variable and closing the connection doesn't free up the memory.
Instead, only when minimizing the tkinter window and restoring it back the memory is free and restored to normal.



Any idea what's going wrong or how can I fix this issue?



I am using Python 3.4 32bit










share|improve this question

























  • Garbage Collection is handled automatically but that does not mean that it will free up memory right away. You can try to force collections with the gc library but it should not affect performance and will release memory as it is needed.

    – Mike - SMT
    Nov 21 '18 at 15:32
















0















I have one code used to collect and analyze some information from a database through ODBC connection, the code is as bellow:



conn = pyodbc.connect(connection_name)
cur = conn.cursor()
rows = cur.execute(qquery)
row = cur.fetchone()
while row is not None:
....Do whatever required....

cur.close()
del rows
del cur
del row
conn.close()
del conn


While monitoring the memory usage, and as the query is collecting huge data, I can see that the memory usage is going up.



After showing the information, deleting the variable and closing the connection doesn't free up the memory.
Instead, only when minimizing the tkinter window and restoring it back the memory is free and restored to normal.



Any idea what's going wrong or how can I fix this issue?



I am using Python 3.4 32bit










share|improve this question

























  • Garbage Collection is handled automatically but that does not mean that it will free up memory right away. You can try to force collections with the gc library but it should not affect performance and will release memory as it is needed.

    – Mike - SMT
    Nov 21 '18 at 15:32














0












0








0








I have one code used to collect and analyze some information from a database through ODBC connection, the code is as bellow:



conn = pyodbc.connect(connection_name)
cur = conn.cursor()
rows = cur.execute(qquery)
row = cur.fetchone()
while row is not None:
....Do whatever required....

cur.close()
del rows
del cur
del row
conn.close()
del conn


While monitoring the memory usage, and as the query is collecting huge data, I can see that the memory usage is going up.



After showing the information, deleting the variable and closing the connection doesn't free up the memory.
Instead, only when minimizing the tkinter window and restoring it back the memory is free and restored to normal.



Any idea what's going wrong or how can I fix this issue?



I am using Python 3.4 32bit










share|improve this question
















I have one code used to collect and analyze some information from a database through ODBC connection, the code is as bellow:



conn = pyodbc.connect(connection_name)
cur = conn.cursor()
rows = cur.execute(qquery)
row = cur.fetchone()
while row is not None:
....Do whatever required....

cur.close()
del rows
del cur
del row
conn.close()
del conn


While monitoring the memory usage, and as the query is collecting huge data, I can see that the memory usage is going up.



After showing the information, deleting the variable and closing the connection doesn't free up the memory.
Instead, only when minimizing the tkinter window and restoring it back the memory is free and restored to normal.



Any idea what's going wrong or how can I fix this issue?



I am using Python 3.4 32bit







python tkinter pyodbc






share|improve this question















share|improve this question













share|improve this question




share|improve this question








edited Nov 21 '18 at 12:00









Tico

2,08722432




2,08722432










asked Nov 21 '18 at 11:03









Mohamed AlmazMohamed Almaz

11




11













  • Garbage Collection is handled automatically but that does not mean that it will free up memory right away. You can try to force collections with the gc library but it should not affect performance and will release memory as it is needed.

    – Mike - SMT
    Nov 21 '18 at 15:32



















  • Garbage Collection is handled automatically but that does not mean that it will free up memory right away. You can try to force collections with the gc library but it should not affect performance and will release memory as it is needed.

    – Mike - SMT
    Nov 21 '18 at 15:32

















Garbage Collection is handled automatically but that does not mean that it will free up memory right away. You can try to force collections with the gc library but it should not affect performance and will release memory as it is needed.

– Mike - SMT
Nov 21 '18 at 15:32





Garbage Collection is handled automatically but that does not mean that it will free up memory right away. You can try to force collections with the gc library but it should not affect performance and will release memory as it is needed.

– Mike - SMT
Nov 21 '18 at 15:32












0






active

oldest

votes











Your Answer






StackExchange.ifUsing("editor", function () {
StackExchange.using("externalEditor", function () {
StackExchange.using("snippets", function () {
StackExchange.snippets.init();
});
});
}, "code-snippets");

StackExchange.ready(function() {
var channelOptions = {
tags: "".split(" "),
id: "1"
};
initTagRenderer("".split(" "), "".split(" "), channelOptions);

StackExchange.using("externalEditor", function() {
// Have to fire editor after snippets, if snippets enabled
if (StackExchange.settings.snippets.snippetsEnabled) {
StackExchange.using("snippets", function() {
createEditor();
});
}
else {
createEditor();
}
});

function createEditor() {
StackExchange.prepareEditor({
heartbeatType: 'answer',
autoActivateHeartbeat: false,
convertImagesToLinks: true,
noModals: true,
showLowRepImageUploadWarning: true,
reputationToPostImages: 10,
bindNavPrevention: true,
postfix: "",
imageUploader: {
brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
allowUrls: true
},
onDemand: true,
discardSelector: ".discard-answer"
,immediatelyShowMarkdownHelp:true
});


}
});














draft saved

draft discarded


















StackExchange.ready(
function () {
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53410731%2fpython-tkinter-free-memory-strange-behaviour%23new-answer', 'question_page');
}
);

Post as a guest















Required, but never shown

























0






active

oldest

votes








0






active

oldest

votes









active

oldest

votes






active

oldest

votes
















draft saved

draft discarded




















































Thanks for contributing an answer to Stack Overflow!


  • Please be sure to answer the question. Provide details and share your research!

But avoid



  • Asking for help, clarification, or responding to other answers.

  • Making statements based on opinion; back them up with references or personal experience.


To learn more, see our tips on writing great answers.




draft saved


draft discarded














StackExchange.ready(
function () {
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53410731%2fpython-tkinter-free-memory-strange-behaviour%23new-answer', 'question_page');
}
);

Post as a guest















Required, but never shown





















































Required, but never shown














Required, but never shown












Required, but never shown







Required, but never shown

































Required, but never shown














Required, but never shown












Required, but never shown







Required, but never shown







Popular posts from this blog

MongoDB - Not Authorized To Execute Command

in spring boot 2.1 many test slices are not allowed anymore due to multiple @BootstrapWith

Npm cannot find a required file even through it is in the searched directory