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

How to prevent Memory Percentage increase over time? #38

Open
gotbletu opened this issue Dec 15, 2021 · 11 comments
Open

How to prevent Memory Percentage increase over time? #38

gotbletu opened this issue Dec 15, 2021 · 11 comments

Comments

@gotbletu
Copy link

hey i notice that if i leave viddy running for a few hours, the memory % would increase. Is there a way to prevent this?
viddy starts out at 0.1% after a few hours it would be over 4.0%.
the watch command is always at 0.0% even after a few hours.

Not sure if is due to the viddy time machine feature that records all the changes but if so, maybe add an option to disable it to prevent memory % increase.

# example
viddy -t man ffmpeg
viddy -t "ps -o pid,user,%mem,command ax | sort -b -k3 -r | grep -i viddy"

viddy 0.3.4-1
System: Host: arcolinux Kernel: 5.10.83-1-lts x86_64 bits: 64 Desktop: Xfce 4.16.0 Distro: ArcoLinux

@kjk11
Copy link

kjk11 commented Jan 15, 2022

Same problem here, great application, but the memory usage slowly keeps going up until the system runs out of RAM.

@onedr0p
Copy link
Contributor

onedr0p commented Jan 15, 2022

It's probably worth setting like a 100 history limit by default but maybe make it configurable @sachaos ?

@sachaos
Copy link
Owner

sachaos commented Jan 20, 2022

I'll try to solve this issue in this weekend.

I could not try. I'll do this in this week.

@paulie-g
Copy link

I see that this feature branch was never merged into master. I would respectfully suggest that you do so, and cut a release. A lot of people use watch/viddy for long-running monitoring. The time machine functionality is neat, but not at the expense of unbounded memory consumption.

@dylan-tock
Copy link

I see that this feature branch was never merged into master. I would respectfully suggest that you do so, and cut a release. A lot of people use watch/viddy for long-running monitoring. The time machine functionality is neat, but not at the expense of unbounded memory consumption.

Just had a box get into a state that required a total restart because of this.

@onedr0p
Copy link
Contributor

onedr0p commented Oct 13, 2023

Any update @sachaos ?

@sachaos
Copy link
Owner

sachaos commented Oct 15, 2023

@onedr0p Hi thank you for ping.

I think there are many solutions.

  1. limit snapshot count.
  2. store history in file.
  3. Remove 0 diff snapshot.

@fedorkanin
Copy link

I use viddy for git log monitoring on MacOS, this is the command I use:

viddy --interval 1s --no-title --skip-empty-diffs 'GIT_PAGER=cat git log --all --oneline --graph --decorate --color'

The issue with unbounded and increasing memory consumption (after a day or so it can be more than several gigabytes) in my case is not solved with --skip-empty-diffs. I do not really understand what is taking up so much memory and would be happy to cooperate by providing logs if requested.

As for my workflow, an ideal solution would be to limit the snapshot count, either via a flag or a global configuration.

@sachaos
Copy link
Owner

sachaos commented Aug 17, 2024

I've implemented feature to save and load history in viddy v1.0.0-rc.2.
We have been storing results in memory until now, but since we switched to using SQLite, we expect a significant reduction in memory usage. If you encounter any bugs or issues, please let us know.

#117 (comment)

@paulie-g
Copy link

I've implemented feature to save and load history in viddy v1.0.0-rc.2. We have been storing results in memory until now, but since we switched to using SQLite, we expect a significant reduction in memory usage. If you encounter any bugs or issues, please let us know.

I can't speak for absolutely everyone, but the people in this thread who knew what they wanted asked for an ability to put an upper bound on in-memory storage. This is because their data is ephemeral and not worth hammering flash, ie they are using viddy as a drop-in replacement for, say, watch. Saving data to SQLite is - at best - orthogonal and, unless you're using an in-memory table, potentially even more unsuitable to their use case.

@sachaos
Copy link
Owner

sachaos commented Aug 18, 2024

@paulie-g Oh, you're right. I apologize for the misunderstanding.
Yes, the SQLite backend won't resolve this issue.
We'll need to limit the history length.

Thank you!

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

Successfully merging a pull request may close this issue.

7 participants