Closed Janus-Xu closed 1 month ago
what is the Executor you are using?
what is the Executor you are using?
just some business logic processing. like data format, calling external APIs, saving results to a database, etc. and I forgot to attach flow.py. The original question has been updated. the statistics do not include the executors, only the engine itself.
The same Flow structure with empty executors, what consumption does it have?
The same Flow structure with empty executors, what consumption does it have?
no consumers. We initially thought it was the executors usage problem, so we removed all the other configurations and tried to find the problem using elimination.
The ARM environment is a Nvidia Jetson box, and we also confused why there is such a difference just by changing the hardware. The box only has 16GB of memory, we originally expected it to support dozens of flows.
I am not sure why the memory usage is different in both? Maybe some forking differences between both architectures, or some dpeendency using more in one or the other
I am not sure why the memory usage is different in both? Maybe some forking differences between both architectures, or some dpeendency using more in one or the other
disregarding the issue with the ARM terminal, on our standard x86 server, the total memory usage we observed during idle testing was around 150MB. Is this memory usage consistent with the testing conducted by your team? We were hoping for a lighter footprint, ideally under 20MB.
yes, can be. I think most of it comes from the importing of docarray
and the forking copying memory
@jina-ai/product This issue is stale because it has been open 90 days with no activity. Remove stale label or comment or this will be closed in 14 days
jina ver: 3.25.1 latest
When using an empty example to observe the idle memory usage without adding any executor, the situation is as follows:
flow.py
In the x86 environment:
PID
16985
occupies80M
, PID17051
occupies66M
.In the ARM environment:
PID
3740
occupies308M
, PID8001
occupies214M
.The executor is designed as multiple processes, We have also tested the memory usage of each process is around
250M-350M
. In this way, when all processes are combined in a flow, it is easy to exceed3-4G
.There is no mention of memory in the entire documentation. Is there any solution to this problem?