Closed abshkd closed 6 years ago
A bit more info troubleshooting info. If I reduce my general OS memory usage to bare minimal I can proceed further. I do believe this problem can be resolved by chunking. It will still fail if the available memory exceeds (about 512MB free in this case) then the process is Killed
. If i can dive deeper into the code I will submit a patch.
Hi @abshkd, do you mean sync fails when there is more than 512Mb memory available but works if memory is tight? Is there anything unusual in dmesg
output after script gets killed?
Hi, thanks for responding so quickly. I meant exactly the opposite. When
memory is low, the sync will fail with larger threat lists. I forgot to
check my dmesg
I will try to reproduce on another system and get you a
dmesg. I believe between retrieving the hash list and then saving to
sqlite, the process itself hits the OS limit and is killed. Will confirm
later today.
On Tue, Feb 20, 2018 at 8:52 PM, Aleh Filipovich notifications@github.com wrote:
Hi @abshkd https://github.com/abshkd, do you mean sync fails when there is more than 512Mb memory available but works if memory is tight? Is there anything unusual in dmesg output after script gets killed?
— You are receiving this because you were mentioned. Reply to this email directly, view it on GitHub https://github.com/afilipovich/gglsbl/issues/33#issuecomment-366968145, or mute the thread https://github.com/notifications/unsubscribe-auth/AAvFHG9s7y7l95qwWJIfIVa_RZ5YU8XTks5tWsAdgaJpZM4SLuEt .
In that case it must be OOM killer. The library requires more than 500Mb to sync. Optimizing for memory usage will most likely increase CPU usage which is a hard bottleneck as sync processes is single-threaded, while memory is relatively cheap (in fact for improved performance I keep SQLite file on RAMFS partition).
After I shutdown a few processes on the VM I was able to complete the initial sync. I suppose now its only differential updates so I will give it another go with the normal processes running plus the update. thank you again. It works very well otherwise.
On Wed, Feb 28, 2018 at 2:32 AM, Aleh Filipovich notifications@github.com wrote:
In that case it must be OOM killer. The library requires more than 500Mb to sync. Optimizing for memory usage will most likely increase CPU usage which is a hard bottleneck as sync processes is single-threaded, while memory is relatively cheap (in fact for improved performance I keep SQLite file on RAMFS partition).
— You are receiving this because you were mentioned. Reply to this email directly, view it on GitHub https://github.com/afilipovich/gglsbl/issues/33#issuecomment-368979463, or mute the thread https://github.com/notifications/unsubscribe-auth/AAvFHEuz3aePm-DVZSaS5kHMzQ4sywgTks5tZEpAgaJpZM4SLuEt .
Ok, great, thank you for the feedback!
Python 2.7 on Ubuntu 16 Server
The process is repeatable and fails exactly here. I am using the master branch.