I have allocated more than 600GB in .stxxl file and the STXXL Messages for that are as follows:
[STXXL-MSG] STXXL v1.4.99 (prerelease/Debug) (git c92521a91aedb950d57cd7e0f596cc622f2e67c8)
[STXXL-MSG] Disk '/var/tmp/stxxl' is allocated, space: 20480 MiB, I/O implementation: syscall queue=0
[STXXL-MSG] Disk '/media/Abhishek/stxxl' is allocated, space: 10240 MiB, I/O implementation: syscall queue=1
[STXXL-MSG] open() error on path=/media/Sriram/stxxl flags=16450, retrying without O_DIRECT.
[STXXL-MSG] Disk '/media/Sriram/stxxl' is allocated, space: 307200 MiB, I/O implementation: syscall autogrow queue=2
[STXXL-MSG] open() error on path=/media/TOSHIBA EXT/stxxl flags=16450, retrying without O_DIRECT.
[STXXL-MSG] Disk '/media/TOSHIBA EXT/stxxl' is allocated, space: 307200 MiB, I/O implementation: syscall autogrow queue=3
[STXXL-MSG] In total 4 disks are allocated, space: 645120 MiB
Still i am getting an error saying:
[STXXL-ERRMSG] External memory block allocation error: 200003584 bytes requested, 137412608 bytes free. Trying to extend the external memory space...
I need to store only 80GB in external memory. I don't understand why it is even trying to extend memory as the memory allocated is quite sufficient. Also all the stxxl files/disks are pre-created using stxxl tool.
Also the .stxxl file contents are as follows:
disk=/media/TOSHIBA EXT/stxxl, 300GiB, syscall autogrow
Please tell me where i am going wrong.
here the memory allocation is being done only in the first disk being specified. If memory is not available in first disk, it is trying to extend it.
It is not allocating in other disks. Why is this so?
I updated the FAQ entry to this problem, and opened a github issue:
Log in to post a comment.