The test keeps random_num payload buffers (each up to max_message_len)
resident and sends copies concurrently; at 4MB the peak working set
runs ~600MB and overflows the test's 256M --memory arena with bad_alloc.
--memory only binds when seastar's own allocator is compiled in
(RelWithDebInfo/Release); Debug/Sanitize define
SEASTAR_DEFAULT_ALLOCATOR and use the heap, so the limit never bites
there.
Shrink max_message_len to 1MB, cutting the peak below 160MB so it fits
the 256M arena instead of enlarging it.
Signed-off-by: Sun Yuechi <sunyuechi@iscas.ac.cn>
const unsigned min_connections = 10;
const unsigned max_in_flight = 64;
const unsigned max_connections = 128;
- const unsigned max_message_len = 1024 * 1024 * 4;
+ const unsigned max_message_len = 1024 * 1024;
const uint64_t servers, clients;
SyntheticWorkload(int servers, int clients, int random_num,