• AnyStream is having some DRM issues currently, Netflix is not available in HD for the time being.
    Situations like this will always happen with AnyStream: streaming providers are continuously improving their countermeasures while we try to catch up, it's an ongoing cat-and-mouse game. Please be patient and don't flood our support or forum with requests, we are working on it 24/7 to get it resolved. Thank you.

Something ain't right... Who ate all the RAM?..

0x0x0x0x0

Well-Known Member
Thread Starter
Joined
Sep 21, 2020
Messages
1,326
Likes
591
While doing something unrelated, with AS sitting idle while it's twiddling its thumbs waiting for tokens, I noticed that it's using up over 6GB of RAM on my 32GB RAM lappy (only downloading from prime with only that provider enabled)... while 101 Edge processes were eating up a measly (in comparison) 1.6GB. Surely that isn't the intended behaviour?..

memory-hog.jpg

Can't upload the logfile: it's 133MB (forum backend says 68.4MB max)

Edit: it looks like it might be "browsing the titles"-related: by just browsing through some titles, I managed to balloon AS to 1.2GB (logfile attached)
 

Attachments

  • AnyStream_1.1.2.0.just-browsing.astlog
    870.9 KB · Views: 1
Last edited:
Just so that you're aware, many apps on Windows will eat up as much RAM as is available to it. I've noticed that AS gets really slow after a while if I don't relaunch it every so often. I am sure that it has to do with the amount of data being pushed around when browsing the Watchlist on AP due to to the thumbnails and descriptions. I can usually only grab a handful of titles before this becomes unbearable. Any applications that take up very little RAM have been designed to do specifically that.

On Windows, half your RAM is dedicated to the OS and the other half to applications. Generally once all the application domain RAM has been used then page file swapping occurs and everything slows down even more. I also have 32gb RAM on one machine and AS will use a lot more RAM, because it's available, than my Core2 PC with only 4gb, which never goes above 2gb used at any time.

This is not an excuse, but rather an explanation of how Windows handles RAM. Edge is developed by MS with billions of dollars to invest in making it as efficient as possible. AS is not trying to give you that sort of experience and can't likely afford to invest in making it run anywhere near as well as Edge, or even Chromium, so they dedicate their resources to working on issues that are key to the intended usage.

That being said, I am not a fan of Qt on Windows... I think it's slow and clunky, so I've adjusted my expectations accordingly. Like I said before, no excuses, just reasons.
 
Just so that you're aware, many apps on Windows will eat up as much RAM as is available to it. I've noticed that AS gets really slow after a while if I don't relaunch it every so often. I am sure that it has to do with the amount of data being pushed around when browsing the Watchlist on AP due to to the thumbnails and descriptions. I can usually only grab a handful of titles before this becomes unbearable. Any applications that take up very little RAM have been designed to do specifically that.

On Windows, half your RAM is dedicated to the OS and the other half to applications. Generally once all the application domain RAM has been used then page file swapping occurs and everything slows down even more. I also have 32gb RAM on one machine and AS will use a lot more RAM, because it's available, than my Core2 PC with only 4gb, which never goes above 2gb used at any time.

This is not an excuse, but rather an explanation of how Windows handles RAM. Edge is developed by MS with billions of dollars to invest in making it as efficient as possible. AS is not trying to give you that sort of experience and can't likely afford to invest in making it run anywhere near as well as Edge, or even Chromium, so they dedicate their resources to working on issues that are key to the intended usage.

That being said, I am not a fan of Qt on Windows... I think it's slow and clunky, so I've adjusted my expectations accordingly. Like I said before, no excuses, just reasons.

I completely disagree. Such behavior is indicative of either a poorly written program in a memory-managed language or memory leak in a non-managed one. Correctly written programs do not just gobble memory, relying on the page swapper to sort it out.

DrX
 
I completely disagree. Such behavior is indicative of either a poorly written program in a memory-managed language or memory leak in a non-managed one. Correctly written programs do not just gobble memory, relying on the page swapper to sort it out.

DrX
Then you would be wrong. Qt is not memory efficient on Windows.. Most cross-platform toolkits are not.
 
Then you would be wrong. Qt is not memory efficient on Windows.. Most cross-platform toolkits are not.

I seriously doubt I'm the one in the wrong. Your comments covered a lot more wrongness than just statements of Qt. No offense, but it shows an utter lack of understand of software development or the internals of Windows.

Also, can I hazard a guess and say, you're running the 32-bit version on your Core 2 machine?
 
I've been developing apps for over 20 years. I understand Windows as well as most OSes fairly well. Not going to argue my point. It's ok to disagree, but youre still not accurate.
 
  • Like
Reactions: DQ
I'm not going to get into a "measuring" contest with you, but I've been developing software since the early 70s. I've got children older than your years of experience. Regardless, your experience, number of degrees, et. al., has no bearing on the correctness of your assertions (appeal to authority fallacy).

DrX
 
  • Like
Reactions: DQ
I wasn't planning on starting a philosophical debate, but here we are...

Runaway memory consumption is never a good thing. It's one thing for kernel to eat up RAM for caches that can be dumped at any time there's memory pressure, it's entirely different for any application to gobble up memory in a mistaken belief it's the only thing running on the box and the user has no better use for that RAM. Same goes for relying on paging. In fact, I'd go as far as to say that there's only one serious use case for a VM pager in modern computers: memory-mapped file IO, and even that has its place.

I know of only one platform where the applications are allowed to balloon (mostly because the ecosystem relies on inexperienced programmers flooding the market (no serious programmer would charge 99c for their program, updates, and support, for example)) and, even then, if the application doesn't respond to a request to relinquish its RAM in a meaningful way, it gets killed by the kernel.

The whole "keep as many things in RAM as possible" dates back to the times when people used look-up tables to convert between ASCII and Base-64 en/de~coding, and it's not the way things are done for a long time (there is a nice paper, and a modern revision, at ACM about how many CPU cycles one needs to use up before storing the result in RAM for acceleration, but I can't find it at the whim)...

But then again, I come from dependability/fault-tolerance background.

PS: memory managed languages are a joke, I recall one vendor expressly recommending assigning null to an object if you wanted GC to release that memory...
 
Last edited:
I'm not going to get into a "measuring" contest with you, but I've been developing software since the early 70s. I've got children older than your years of experience. Regardless, your experience, number of degrees, et. al., has no bearing on the correctness of your assertions (appeal to authority fallacy).

DrX

Just agree to disagree guys. Even experienced folks can have differing opinions. No sense in whipping out the e-peens over it.
 
I wasn't planning on starting a philosophical debate, but here we are...

But then again, I come from dependability/fault-tolerance background.

PS: memory managed languages are a joke, I recall one vendor expressly recommending assigning null to an object if you wanted GC to release that memory...

I completely agree. Most of my work (today, at least) is real-time systems. I avoid memory managed languages like the plague. I called them "code by number" (derivative of "paint by number").
 
  • Like
Reactions: DQ
I wasn't planning on starting a philosophical debate, but here we are...

Runaway memory consumption is never a good thing. It's one thing for kernel to eat up RAM for caches that can be dumped at any time there's memory pressure, it's entirely different for any application to gobble up memory in an mistaken belief it's the only thing running on the box and the user has no better use for that RAM. Same goes for relying on paging. In fact, I'd go as far as to say that there's only one serious use case for a VM pager in modern computers: memory-mapped file IO, and even that has its place.

I know of only one platform where the applications are allowed to balloon (mostly because the ecosystem relies on inexperienced programmers flooding the market (no serious programmer would charge 99c for their program, updates, and support, for example)) and, even then, if the application doesn't respond to a request to relinquish its RAM in a meaningful way, it gets killed by the kernel.

The whole "keep as many things in RAM as possible" dates back to the times when people used look-up tables to convert between ASCII and Base-64 en/de~coding, and it's not the way things are done for a long time (there is a nice paper, and a modern revision, at the ACM about how many CPU cycles one needs to use up before storing the result in RAM for acceleration, but I can't find it at the whim)...

But then again, I come from dependability/fault-tolerance background.

PS: memory managed languages are a joke, I recall one vendor expressly recommending assigning null to an object if you wanted GC to release that memory...
I agree with this which is why I said they dont have the resources to focus on optimizing memory handling when there are not only limited development resources, but the fact that you could simply restart the app.

Ive coded in pascal, cobol, fortran amongst many others, including assembly. I know what memory management is. Any app using .NET clr is going to suffer these issues aside from Qt anyways, unless significant effort is made to remedy those specifically and that almost goes against the entire point of using .NET to begin with.
 
  • Like
Reactions: DQ
I agree with this which is why I said they dont have the resources to focus on optimizing memory handling when there are not only limited development resources, but the fact that you could simply restart the app.

I don't know what the problem is with the code, but I'm not entirely certain what you mean by "resources to focus on optimizing memory."

Speaking generally, when I learnt coding (and that was the time when writing "interesting" TSR programs in assy was the coolest thing ever, especially if you can make it fit onto as few 5.25" floppy sectors as possible) the first thing you did before writing any code that uses allocated memory was to write a matching deallocating code, no different than putting down a closing brace as soon as you have put down an opening brace---these things just go together.

Incidentally, it's a misconception that MS throws billions of dollars at Edge---the whole point of them switching to Edge and dropping IE was to save a lot of money, but that's a different story ;)
 
Speaking generally, when I learnt coding (and that was the time when writing "interesting" TSR programs in assy was the coolest thing ever, especially if you can make it fit onto as few 5.25" floppy sectors as possible) the first thing you did before writing any code that uses allocated memory was to write a matching deallocating code, no different than putting down a closing brace as soon as you have put down an opening brace---these things just go together.

Sigh, I miss those days--when your computer was completely ours (nothing else running on it that you didn't expect). I once wrote a TSR to convert card-specific software ISR calls to VERA, because a game I bought only supported high res for 3 specific cards (none of which I had).
 
Incidentally, it's a misconception that MS throws billions of dollars at Edge
I wasnt suggest they throw billions at Edge, only that they basically have unlimited development resources, ie, tons of developers and billions to shell out on any project they desire. Edge was mostly moved to Chromium for compatiblity issues with existing sites once it became apparent that the market was not going to fragment.

MS used to wear that shoe on the other foot when IE ruled and everyone was rushing to make their browsers compatible with IE. Only there were no common frameworks to choose from back then to just spin up your own version of a browser like there is today. MS is famous for wasting cash beating their heads against to wall to force adoption of their proprietary tech, but that's not going to work anymore, so if you cant beat em, join em. Same thing goes with WSL, couldnt force people not to just not use Linux so they now have their own distro built into Windows to try to keep all these new developers from jumping ship.

My point with limited development resources means, both cash and manpower. AS is surely limited on both these fronts and focusing on accomplishing the actual task of downloading a useable file is tantamount over trying to have the best memory management possible.
 
I wasnt suggest they throw billions at Edge, only that they basically have unlimited development resources, ie, tons of developers and billions to shell out on any project they desire. Edge was mostly moved to Chromium for compatiblity issues with existing sites once it became apparent that the market was not going to fragment.

MS used to wear that shoe on the other foot when IE ruled and everyone was rushing to make their browsers compatible with IE. Only there were no common frameworks to choose from back then to just spin up your own version of a browser like there is today. MS is famous for wasting cash beating their heads against to wall to force adoption of their proprietary tech, but that's not going to work anymore, so if you cant beat em, join em. Same thing goes with WSL, couldnt force people not to just not use Linux so they now have their own distro built into Windows to try to keep all these new developers from jumping ship.

My point with limited development resources means, both cash and manpower. AS is surely limited on both these fronts and focusing on accomplishing the actual task of downloading a useable file is tantamount over trying to have the best memory management possible.

I'm still not understanding why you think proper resource management in software take oodles of money and time. It is a basic skill that ALL software develops should master, and apply throughout a project, and not when you've got "money and/or time." This is one of the reasons I seriously hate languages like Java, C#, Python, etc. al. They are killing the development of proper skills. People just creates gobs of object and think, "no big deal. the garbage collector will take care of it!"
 
I'm still not understanding why you think proper resource management in software take oodles of money and time. It is a basic skill that ALL software develops should master, and apply throughout a project, and not when you've got "money and/or time." This is one of the reasons I seriously hate languages like Java, C#, Python, etc. al. They are killing the development of proper skills. People just creates gobs of object and think, "no big deal. the garbage collector will take care of it!"

I am not fond of them either but I face this same mentality from elitist musicians that I play with. They think that just because Kurt Cobain has lousy technique that his output wasn't effective. Also, guitarists are famous for thinking that if you don't play the same guitars they're playing -using the exact same technique- you're simply wasting your time.

If you think its that easy, then why didn't you whip up your own AS alternative this morning and school us all in the values of coder elitism. No question mark there since its rhetorical.
 
Last edited:
If you think its that easy, then why didn't you whip up your own AS alternative this morning and school us all in the values coder elitism. No question mark there since its rhetorical.

I didn't say it was easy. I said it was a fundamental skill, and something that should be done throughout the lifetime of software, not at the end.

Also, I seriously doubt the developers of AS haven't done proper developement. If I were to hazard a guess, I would say it's just a bug.
 
If you think its that easy, then why didn't you whip up your own AS alternative this morning and school us all in the values coder elitism. No question mark there since its rhetorical.

I didn't say it was easy. I said it was a fundamental skill, and something that should be done throughout the lifetime of software, not at the end.

Also, I seriously doubt the developers of AS haven't done proper developement. If I were to hazard a guess, I would say it's just a bug.

Well, I guess we should've all just sat on our thumbs and waited for AS to get everything exactly perfect, to your standards, before we started downloading things we wanted yesterday. That sounds like a great and profitable business model, especially since most paying users couldn't care less about what's happening under the hood as long as they can have Stranger Things on their laptop now.
 
Well, I guess we should've all just sat on our thumbs and waited for AS to get everything exactly perfect, to your standards, before we started downloading things we wanted yesterday. That sounds like a great and profitable business model, especially since most paying users couldn't care less about what's happening under the hood as long as they can have Stranger Things on their laptop now.

I've not sure what you're going on about. You're creating a straw man. I never once said software must be bug-free. Such a thing is impossible except for the most trivial of programs.
 
I cannot reproduce any of these memory issues, probably a reboot would have fixed the issue, and it wouldn't have happened again. Could be an operating system error, who knows with no log.
 
Back
Top