Tom> ...and then I allocate a lot of memory in another process (eg. open Tom> a load of files in the GIMP), then the computer swaps the Python Tom> process out to disk to free up the necessary space. Python's Tom> memory use is still reported as 953 MB, even though nothing like Tom> that amount of space is needed. From what you said above, the Tom> problem is in the underlying C libraries, but is there anything I Tom> can do to get that memory back without closing Python?
Not really. I suspect the unused pages of your Python process are paged out, but that Python has just what it needs to keep going. Memory contention would be a problem if your Python process wanted to keep that memory active at the same time as you were running GIMP. I think the process's resident size is more important here than virtual memory size (as long as you don't exhaust swap space). Skip -- http://mail.python.org/mailman/listinfo/python-list