Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Issues with bigger (~28GB) databases #16

Open
jurriaan opened this issue Sep 3, 2022 · 0 comments
Open

Issues with bigger (~28GB) databases #16

jurriaan opened this issue Sep 3, 2022 · 0 comments

Comments

@jurriaan
Copy link

jurriaan commented Sep 3, 2022

I'm experimenting with compressing a somewhat bigger sqlite database, but sqlite keeps on running out of memory and is being killed by the OOM killer when I run SELECT zstd_incremental_maintenance(null, 1);

[2022-09-03T06:44:48Z INFO  sqlite_zstd::transparent] tiles_data.tile_data: Total 6142360 rows (26.48GB) to potentially compress (split in 1 groups).

I have 32GB of ram (4GB used when starting the maintenance), and it still failed when I added a 20GB swapfile.

Out of memory: Killed process 270983 (sqlite3) total-vm:53662032kB, anon-rss:25559800kB, file-rss:1172kB, shmem-rss:0kB, UID:1000 pgtables:84908kB oom_score_adj:0

I then used a 40GB swapfile, and it seems to proceed a bit better, but finally it does fail on:

Runtime error: getting dict

Caused by:
    0: Training dictionary failed

       Caused by:
           Src size is incorrect
    1: Error code 1: SQL error or missing database

Which seems to be the same issue as #11

After updating the train_dict_samples_ratio it seems to continue and use a lot less memory.

Compressed 6142360 rows with dict_choice=a (dict_id=1). Total size of entries before: 26.48GB, afterwards: 26.44GB, (average: before=4.31kB, after=4.30kB)
Handled 6142360 / 6142360 rows  (26.48GB / 26.48GB)
All maintenance work completed!
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant