wykorzystanie pamięci, jak zwolnić pamięć

Używam Pythona i podczas indeksowania dokumentów (dla wyszukiwarki) zajmuje dużo pamięci RAM, po zatrzymaniu procesu indeksowania pamięć jest nadal pełna (jak 8 GB pamięci RAM). To jest złe, ponieważ potrzebuję mojej wyszukiwarki, aby cały czas działała i nie resetowała systemu operacyjnego, gdy zakończyłem indeksowanie. Czy jest jakiś skuteczny sposób zarządzania dużymi macierzami, słownikami i listami oraz jak ich uwolnić. Jakieś pomysły?

Widziałem też kilka pytań na ten temat na temat stackoverflow, ale są one stare:

Wielkość pamięci Pythona a wielkość sterty

Alokacja pamięci profilu w Pythonie (z obsługą tablic Numpy)

Informacje:

free -t
             total       used       free     shared    buffers     cached
Mem:          5839       5724        114          0         15       1011
-/+ buffers/cache:       4698       1141
Swap:         1021        186        835
Total:        6861       5910        950


top | grep python 

 3164 root      20   0 68748  31m 1404 R   17  0.5  53:43.89 python                                                                     
 6716 baddc0re  20   0 84788  30m 1692 S    0  0.5   0:06.81 python     

 ps aux | grep python

root      3164 57.1  0.4  64876 29824 pts/0    R+   May27  54:23 python SE_doc_parse.py
baddc0re  6693  0.0  0.2  53240 16224 pts/1    S+   00:46   0:00 python index.py

uptime

01:02:40 up  1:43,  3 users,  load average: 1.22, 1.46, 1.39


sysctl vm.min_free_kbytes

vm.min_free_kbytes = 67584

Prawdziwy problem polega na tym, że kiedy uruchamiam skrypt, indeksowanie jest szybkie, ale gdy zwiększa się jego użycie, staje się wolniejsze.

Document wikidoc_18784 added on 2012-05-28 01:03:46 "fast"
wikidoc_18784
-----------------------------------
Document wikidoc_21934 added on 2012-05-28 01:04:00 "slower"
wikidoc_21934
-----------------------------------
Document wikidoc_22903 added on 2012-05-28 01:04:01 "slower"
wikidoc_22903
-----------------------------------
Document wikidoc_20274 added on 2012-05-28 01:04:10 "slower"
wikidoc_20274
-----------------------------------
Document wikidoc_23013 added on 2012-05-28 01:04:53  "even more slower"
wikidoc_23013

Rozmiar dokumentów to jedna lub dwie strony tekstu maksymalnie. Indeksowanie 10 stron zajmuje około 2-3 sekund.

Tnx wszystkim za pomoc :)

questionAnswers(3)

yourAnswerToTheQuestion