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

Large append-only queue locks up machine #330

Closed
mcs6502 opened this issue Jan 23, 2017 · 4 comments
Closed

Large append-only queue locks up machine #330

mcs6502 opened this issue Jan 23, 2017 · 4 comments

Comments

@mcs6502
Copy link

mcs6502 commented Jan 23, 2017

I have a test process that sequentially appends zero-filled blocks to a Chronicle Queue. Running several such processes simultaneously (each with its own queue file) freezes the entire machine when the total size of all queues gets close to the size of physical RAM. This was observed on 64-bit Linux with Chronicle Queue 4.5.1. Diagnostic output suggests that the machine begins paging out intensively when this happens. The RSS of each test process equals its SHM size, which equals the size of the queue.
Please could you see if you have seen anything similar and suggest a workaround so the process can create a queue larger than physical RAM.

@peter-lawrey
Copy link
Member

peter-lawrey commented Jan 23, 2017 via email

@mcs6502
Copy link
Author

mcs6502 commented Jan 23, 2017

The queue is configured as a SingleChronicleQueue with WireType.FIELDLESS_BINARY and SystemTimeProvider.INSTANCE, and the message size is 512 bytes. I think the duration of lock-ups is directly proportional to the size of the queue at the time when a lock-up is triggered.
Please could you clarify in your comment above whether by "works currently" you meant the lock-ups are supposed to occur, or the queue is expected to be able to exceed the RAM size? And also the other comment about the slow down--whether I should be expecting the system to slow down once it reaches 10% dirty pages, or whether I should slow the writers down so that the system can flush its buffers?

@peter-lawrey
Copy link
Member

peter-lawrey commented Jan 23, 2017 via email

@dpisklov
Copy link
Contributor

Assuming this question is solved now, I'll close this issue.

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

3 participants