Hi,
the deployment of our web app works locally fine and also the setup via Streamlit Cloud works. However, once functions are being triggered in the app, very shortly after that the “Oh no!” page gets shown and in the logs these error messages are displayed:
[17:23:37] ❗️ Streamlit server consistently failed status checks
[17:23:37] ❗️ Please fix the errors, push an update to the git repo, or reboot the app.
If possible, it would be great to get a visualization of the memory consumption of the app. The data being read in and processed is not taking more than 100-200MB.
Check Code → Here is no issue, locally it works fine…
Memory Consumption: → This is what I am currently investigating In case you have good and easy setups for this other than regularly printing used memory, let me know.
Dependencies: → Yes, this I have already updated and before my app was running in this issue, but this is all fixed.
Logs: → nope, works fine.
Streamlit Version: → yes, I am using 1.26 version of Streamlit (the latest one)
Resource Limits: → this is what I am currently still investigating.
Reboot App: → already done, does not help and the issue occurs again & again.
Community Support: → yes, let’s hope more ppl see this post and might also help me as they faced a similar situation.
For visualizing memory consumption, Python libraries like psutil and Streamlit’s st.experimental_get_query_params() can help. → will also look now into this `st.experimental_get_query_params(), thanks!
But in case you have any other idea, let me know. Thanks!!!
@Ridaone and anyone else running in the same issue:
In the end it was truly an OOM (out of memory) issue and even though my raw data was very small (70MB), it was parquet files and when reading them in they actually used up 6-7 GB of memory. I have checked the memory consumption locally via memory-profiler. This works totally easy by installing & importing the package and adding a decorator to your dashboard function:
from memory_profiler import profile
@profile
def your_dashboard_function():
This gives you line by line your dashboard code and tells you in each step how much cumulative memory is consumed + the delta of each code line.