[GH-ISSUE #1938] Memory leaks when working for long time #1929

Open
opened 2026-03-03 19:55:31 +03:00 by kerem · 11 comments
Owner

Originally created by @nisimjoseph on GitHub (Feb 15, 2024).
Original GitHub issue: https://github.com/ProxymanApp/Proxyman/issues/1938

Originally assigned to: @NghiaTranUIT on GitHub.

Description

First thing, thank you for a great product!
we have developers working with this product for days, literary days for the ProxyMan is running. while running it loads memory and get to high amount of GB of memory that stuck the Mac.

Steps to Reproduce

  1. run the ProxyMan open for couple of hours or days.

Current Behavior

memory get too high and stuck the mac

Expected Behavior

if the ProxyMan get to a limit of rows, it need to dump the previous ones.
for example, I will have default of 5000 lines and after those the 5001 and older will be deleted so the memory will be keep on reasonable range.
the UI Preferences need to have the limit set or Unlimited for those who needs it.

Environment

  • App version: all versions
  • macOS version: e.g macOS Monterey
Originally created by @nisimjoseph on GitHub (Feb 15, 2024). Original GitHub issue: https://github.com/ProxymanApp/Proxyman/issues/1938 Originally assigned to: @NghiaTranUIT on GitHub. ## Description First thing, thank you for a great product! we have developers working with this product for days, literary days for the ProxyMan is running. while running it loads memory and get to high amount of GB of memory that stuck the Mac. ## Steps to Reproduce <!-- Add relevant code and/or a live example --> 1. run the ProxyMan open for couple of hours or days. ## Current Behavior <!--- What went wrong? --> memory get too high and stuck the mac ## Expected Behavior <!--- What should have happened? --> if the ProxyMan get to a limit of rows, it need to dump the previous ones. for example, I will have default of 5000 lines and after those the 5001 and older will be deleted so the memory will be keep on reasonable range. the UI Preferences need to have the limit set or Unlimited for those who needs it. ## Environment - App version: all versions - macOS version: e.g macOS Monterey
Author
Owner

@BjornRuud commented on GitHub (Feb 21, 2024):

I experienced this too on 4.16.0. I have "Auto Clean Up Resources If Memory Usage Is High" turned on in settings, but over a number of days the Proxyman process used up all the memory.

<!-- gh-comment-id:1956109323 --> @BjornRuud commented on GitHub (Feb 21, 2024): I experienced this too on 4.16.0. I have "Auto Clean Up Resources If Memory Usage Is High" turned on in settings, but over a number of days the Proxyman process used up all the memory.
Author
Owner

@NghiaTranUIT commented on GitHub (Mar 2, 2024):

@BjornRuud it's expected because Proxyman accumulates a lot of traffic for a number of days. You might Click on the Clear Session button to release unnecessary data.

<!-- gh-comment-id:1974411738 --> @NghiaTranUIT commented on GitHub (Mar 2, 2024): @BjornRuud it's expected because Proxyman accumulates a lot of traffic for a number of days. You might Click on the `Clear Session` button to release unnecessary data.
Author
Owner

@nisimjoseph commented on GitHub (Mar 2, 2024):

@NghiaTranUIT yes, but when you leave it off for a day because you didn't remember to turn it off, it gets to 20–40GB of memory usage.
That doesn't make sense to me.
I think you need to limit the data to 6 hours of accumulation and remove the rest.
you can have a setting to make it accumulate forever, but it is supposed to be turned off by default.

<!-- gh-comment-id:1974743120 --> @nisimjoseph commented on GitHub (Mar 2, 2024): @NghiaTranUIT yes, but when you leave it off for a day because you didn't remember to turn it off, it gets to 20–40GB of memory usage. That doesn't make sense to me. I think you need to limit the data to 6 hours of accumulation and remove the rest. you can have a setting to make it accumulate forever, but it is supposed to be turned off by default.
Author
Owner

@NghiaTranUIT commented on GitHub (Mar 2, 2024):

@nisimjoseph it depends on how many SSL items are in the Tool menu -> SSL Proxying List. By default, If there are no SSL Entries, Proxyman only proxies the data without holding the body.

If it has some wildcard (e.g. *) or Google Chrome in the SSL Proxying List, Proxyman will decrypt all HTTPS traffic and hold it in memory. So it might consume more RAM.

Can you double check and remove all SSL Entries and test it again for a day?

<!-- gh-comment-id:1974747219 --> @NghiaTranUIT commented on GitHub (Mar 2, 2024): @nisimjoseph it depends on how many SSL items are in the Tool menu -> SSL Proxying List. By default, If there are no SSL Entries, Proxyman only proxies the data without holding the body. If it has some wildcard (e.g. `*`) or Google Chrome in the SSL Proxying List, Proxyman will decrypt all HTTPS traffic and hold it in memory. So it might consume more RAM. Can you double check and remove all SSL Entries and test it again for a day?
Author
Owner

@nisimjoseph commented on GitHub (Mar 2, 2024):

@NghiaTranUIT I agree with this, but the Proxy domains are set only to the needed domains. and while developing, we have lots of network calls on our domains. I saw one computer totally stuck because of the 40GB memory the ProxyMan took only by handling our proxy traffic.
It occurred to many Frontend developers, including me, because I forgot it open for 10 hours, got to 15GB memory.

<!-- gh-comment-id:1974748498 --> @nisimjoseph commented on GitHub (Mar 2, 2024): @NghiaTranUIT I agree with this, but the Proxy domains are set only to the needed domains. and while developing, we have lots of network calls on our domains. I saw one computer totally stuck because of the 40GB memory the ProxyMan took only by handling our proxy traffic. It occurred to many Frontend developers, including me, because I forgot it open for 10 hours, got to 15GB memory.
Author
Owner

@NghiaTranUIT commented on GitHub (Mar 2, 2024):

May I ask what Proxyman version you're using? From the v4.11.0 (released on Sep 13, 2023), I fixed a memory issue when each request has unnecessary 4 primitive locks => Causing huge memory usage.

<!-- gh-comment-id:1974751001 --> @NghiaTranUIT commented on GitHub (Mar 2, 2024): May I ask what Proxyman version you're using? From the v4.11.0 (released on Sep 13, 2023), I fixed a memory issue when each request has unnecessary 4 primitive locks => Causing huge memory usage.
Author
Owner

@nisimjoseph commented on GitHub (Mar 2, 2024):

yes, I work with the latest, and I saw the issue in 4.16v as well.
I use 5v, and tomorrow I will turn it on all day to check the memory usage for 8 hours.

<!-- gh-comment-id:1974753511 --> @nisimjoseph commented on GitHub (Mar 2, 2024): yes, I work with the latest, and I saw the issue in 4.16v as well. I use 5v, and tomorrow I will turn it on all day to check the memory usage for 8 hours.
Author
Owner

@NghiaTranUIT commented on GitHub (Jul 23, 2024):

Fixed with the latest build v5.6.1 👍

<!-- gh-comment-id:2244434701 --> @NghiaTranUIT commented on GitHub (Jul 23, 2024): Fixed with the latest build v5.6.1 👍
Author
Owner

@raxityo commented on GitHub (Jul 26, 2024):

Hey @NghiaTranUIT,

I am on the latest version:

Proxyman Version 5.6.1 (50601) | macOS: Version 14.5 (Build 23F79)

I just updated to this version a couple of days ago, but still experiencing high memory usage eventually leading to the network and Proxyman being unresponsive in the background.

Screenshot showing system prompt to quit an app due to reaching memory limit:
Screenshot 2024-07-26 at 4 25 58 AM

Unfortunately, I quit the app already. But if there are any dump or logs that I should be grabbing before quitting, feel free to let me know. I can do that if it happens again.

<!-- gh-comment-id:2252242871 --> @raxityo commented on GitHub (Jul 26, 2024): Hey @NghiaTranUIT, I am on the latest version: > Proxyman Version 5.6.1 (50601) | macOS: Version 14.5 (Build 23F79) I just updated to this version a couple of days ago, but still experiencing high memory usage eventually leading to the network and Proxyman being unresponsive in the background. Screenshot showing system prompt to quit an app due to reaching memory limit: <img width="539" alt="Screenshot 2024-07-26 at 4 25 58 AM" src="https://github.com/user-attachments/assets/bca52c77-349f-4029-9dc4-7df8d76128ae"> Unfortunately, I quit the app already. But if there are any dump or logs that I should be grabbing before quitting, feel free to let me know. I can do that if it happens again.
Author
Owner

@lwj1994 commented on GitHub (Oct 28, 2024):

@NghiaTranUIT this bug is still alive on Version 5.9.0

Proxyman Version 5.9.0 (50900) | macOS: Version 14.5 (Build 23F79)

image

<!-- gh-comment-id:2440419313 --> @lwj1994 commented on GitHub (Oct 28, 2024): @NghiaTranUIT this bug is still alive on Version 5.9.0 Proxyman Version 5.9.0 (50900) | macOS: Version 14.5 (Build 23F79) ![image](https://github.com/user-attachments/assets/34da1b9b-c887-4825-a943-9e2250ea298f)
Author
Owner

@NghiaTranUIT commented on GitHub (Oct 28, 2024):

@lwj1994 can you follow this https://github.com/ProxymanApp/Proxyman/issues/1938#issuecomment-1974747219

to remove some items in the SSL Proxying List. It will fix your memory issue.

From what I did, the latest build has fixed the big memory leaks issues, but not 100%.

<!-- gh-comment-id:2440746386 --> @NghiaTranUIT commented on GitHub (Oct 28, 2024): @lwj1994 can you follow this https://github.com/ProxymanApp/Proxyman/issues/1938#issuecomment-1974747219 to remove some items in the SSL Proxying List. It will fix your memory issue. From what I did, the latest build has fixed the big memory leaks issues, but not 100%.
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
starred/Proxyman#1929
No description provided.