-
Notifications
You must be signed in to change notification settings - Fork 252
Open
Labels
Description
Describe the bug
An xsnap worker loading from a recent snapshot is faster than one that executed without restart. The memory usage is also higher.
To Reproduce
Use the transcript-replay.js
tool, configuring it to keep multiple workers (feature currently only available on branch mhofman/6588-diagnose)
Expected behavior
This kind of slowdown / memory growth should not happen as the resource usage should entirely depend on the program being executed.
Platform Environment
- what OS are you using? what version of Node.js? Docker on Linux WSL, Node 16 (irrelevant)
- is there anything special/unusual about your platform? Replay tool
- what version of the Agoric-SDK are you using? Branch mhofman/6588-diagnose
Additional context
Issue first discovered by @warner while investigating #6625. Confirmed by adding stats to replay tool while investigating #6588.
Screenshots
PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
6837 node 20 0 1228260 214984 1588 R 86.7 2.6 193:13.33 xsnap-worker
6854 node 20 0 1228100 216208 1500 R 86.3 2.7 191:33.62 xsnap-worker
7621 node 20 0 1227616 216144 1480 R 80.7 2.7 179:34.44 xsnap-worker
8928 node 20 0 1227204 215556 1512 R 75.0 2.6 163:27.66 xsnap-worker
11735 node 20 0 1226756 215216 1520 R 68.3 2.6 149:52.72 xsnap-worker
15897 node 20 0 1226272 214432 1480 R 63.7 2.6 134:11.45 xsnap-worker
21558 node 20 0 1225828 214124 1472 R 56.3 2.6 116:36.82 xsnap-worker
29043 node 20 0 1225352 213052 1504 R 52.7 2.6 95:41.86 xsnap-worker
21009 node 20 0 1224552 212804 1528 R 50.0 2.6 59:07.48 xsnap-worker
4433 node 20 0 1194156 183496 2856 R 45.0 2.3 32:56.29 xsnap-worker
31375 node 20 0 1223960 211848 1480 R 45.0 2.6 41:37.15 xsnap-worker
11276 node 20 0 1194052 183512 2856 R 43.0 2.3 23:32.73 xsnap-worker
7021 node 20 0 1194104 183616 2984 R 41.7 2.3 29:01.86 xsnap-worker
18330 node 20 0 1193984 183556 2884 R 40.7 2.3 15:22.85 xsnap-worker
28662 node 20 0 1193904 183560 2892 R 39.3 2.3 1:42.29 xsnap-worker
29895 node 20 0 1193800 183908 3424 R 39.0 2.3 0:43.17 xsnap-worker
made snapshot 6bbb1e7b5c589db9aa72a0ffc6b4bc96e1e34f73b2f4f03bf3b10f6ed32e5bc9 after delivery 89002 to worker PID 6837.
Save time = 3.647s. Delivery time since last snapshot 133.835s. Up 89002 deliveries.
made snapshot 6bbb1e7b5c589db9aa72a0ffc6b4bc96e1e34f73b2f4f03bf3b10f6ed32e5bc9 after delivery 89002 to worker PID 6854.
Save time = 3.804s. Delivery time since last snapshot 133.685s. Up 89000 deliveries.
made snapshot 6bbb1e7b5c589db9aa72a0ffc6b4bc96e1e34f73b2f4f03bf3b10f6ed32e5bc9 after delivery 89002 to worker PID 7621.
Save time = 3.605s. Delivery time since last snapshot 128.292s. Up 79000 deliveries.
made snapshot 6bbb1e7b5c589db9aa72a0ffc6b4bc96e1e34f73b2f4f03bf3b10f6ed32e5bc9 after delivery 89002 to worker PID 8928.
Save time = 3.781s. Delivery time since last snapshot 121.568s. Up 69000 deliveries.
made snapshot 6bbb1e7b5c589db9aa72a0ffc6b4bc96e1e34f73b2f4f03bf3b10f6ed32e5bc9 after delivery 89002 to worker PID 11735.
Save time = 3.503s. Delivery time since last snapshot 116.482s. Up 59000 deliveries.
made snapshot 6bbb1e7b5c589db9aa72a0ffc6b4bc96e1e34f73b2f4f03bf3b10f6ed32e5bc9 after delivery 89002 to worker PID 15897.
Save time = 3.358s. Delivery time since last snapshot 111.398s. Up 49000 deliveries.
made snapshot 6bbb1e7b5c589db9aa72a0ffc6b4bc96e1e34f73b2f4f03bf3b10f6ed32e5bc9 after delivery 89002 to worker PID 21558.
Save time = 3.537s. Delivery time since last snapshot 104.596s. Up 39000 deliveries.
made snapshot 6bbb1e7b5c589db9aa72a0ffc6b4bc96e1e34f73b2f4f03bf3b10f6ed32e5bc9 after delivery 89002 to worker PID 29043.
Save time = 3.345s. Delivery time since last snapshot 99.134s. Up 29000 deliveries.
made snapshot 6bbb1e7b5c589db9aa72a0ffc6b4bc96e1e34f73b2f4f03bf3b10f6ed32e5bc9 after delivery 89002 to worker PID 21009.
Save time = 3.3s. Delivery time since last snapshot 95.032s. Up 19000 deliveries.
made snapshot 6bbb1e7b5c589db9aa72a0ffc6b4bc96e1e34f73b2f4f03bf3b10f6ed32e5bc9 after delivery 89002 to worker PID 31375.
Save time = 3.269s. Delivery time since last snapshot 87.107s. Up 9000 deliveries.
made snapshot 6bbb1e7b5c589db9aa72a0ffc6b4bc96e1e34f73b2f4f03bf3b10f6ed32e5bc9 after delivery 89002 to worker PID 4433.
Save time = 2.767s. Delivery time since last snapshot 85.493s. Up 6000 deliveries.
made snapshot 6bbb1e7b5c589db9aa72a0ffc6b4bc96e1e34f73b2f4f03bf3b10f6ed32e5bc9 after delivery 89002 to worker PID 7021.
Save time = 2.711s. Delivery time since last snapshot 85.655s. Up 5000 deliveries.
made snapshot 6bbb1e7b5c589db9aa72a0ffc6b4bc96e1e34f73b2f4f03bf3b10f6ed32e5bc9 after delivery 89002 to worker PID 11276.
Save time = 3.223s. Delivery time since last snapshot 86.102s. Up 4000 deliveries.
made snapshot 6bbb1e7b5c589db9aa72a0ffc6b4bc96e1e34f73b2f4f03bf3b10f6ed32e5bc9 after delivery 89002 to worker PID 18330.
Save time = 2.733s. Delivery time since last snapshot 90.439s. Up 3000 deliveries.
made snapshot 6bbb1e7b5c589db9aa72a0ffc6b4bc96e1e34f73b2f4f03bf3b10f6ed32e5bc9 after delivery 89002 to worker PID 28662.
Save time = 2.15s. Delivery time since last snapshot 84.705s. Up 2000 deliveries.
made snapshot 6bbb1e7b5c589db9aa72a0ffc6b4bc96e1e34f73b2f4f03bf3b10f6ed32e5bc9 after delivery 89002 to worker PID 29895.
Save time = 2.541s. Delivery time since last snapshot 86.967s. Up 1000 deliveries.