Skip to content
  • Categories
  • Recent
  • Tags
  • Popular
  • World
  • Users
  • Groups
Skins
  • Light
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • Default (No Skin)
  • No Skin
Collapse
Code Project
  1. Home
  2. The Lounge
  3. 8GB no longer enough

8GB no longer enough

Scheduled Pinned Locked Moved The Lounge
androidquestionjavacomdata-structures
33 Posts 17 Posters 2 Views 1 Watching
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • R raddevus

    I've had my i7 laptop with 8GB for at least 4 years now (started out on win 8.1). It has worked fine. I could run 1. web browser 2. Android Studio 3. Android emulator All at the same time and I never had a problem. Now, I cannot run those 3 or all my RAM is gone. I can now only (barely) run the 1. web browser 2. android studio The only way i can use my computer for Android development now is to use an externally connected android device to run/debug apps on. Very sad. This laptop is not able to upgrade to 16GB. I know. It's crazy and cheapo. Actually, I can barely run the web browser when Android Studio is running. Not great. When I open too many tabs the tabs just crash and burn. Win 10 Ram Eater? Anyways, I also noticed this in win 10 at work and now at home. Check out how many svchost.exe processes are running: I can't even fit them all on one screen (in task manager) see the snapshot : https://i.stack.imgur.com/bPaaD.png[^] What is going on? Has anyone else noticed this? EDIT - Android Studio RAM Android Studio eats > 1.0 GB And it starts up two Java Processes java.exe - 823 MB java.exe - 333 MB Oy! Meanwhile, any browser eats up about 1 GB (my FF is at 723 MB). That's 3 GB and the rest of the 8GB is basically eaten up by random win10 and other background processes. Such is the modern life, I assume.

    R Offline
    R Offline
    Reelix
    wrote on last edited by
    #24

    Fun fact of the day! Each process on your PC has something called "Modified Page List Bytes" which is additional RAM that a process is using that is hidden from Task Manager. This amount happily sits at around 8GB on my 32GB Desktop Machine. This amount cannot be picked up by Task Manager, and requires specialized RAM-based process monitors to detect (RAMMap, in-depth investigation into Windows Performance Counters, etc). Whilst using such methods can tell you the total amount of invisible RAM being used, there is no way to tell what is using it, if something is leaking it, or even how to easily free it up (Although closing a process will free up its associated modified bytes) Task Manager can show you at 30% total Memory usage when in reality you could be sitting at 90%+ and start tossing "Out Of Memory" exceptions any moment now. Disable your Pagefile to drastically speed up this process to experience this first hand :) Have fun :p

    -= Reelix =-

    R 1 Reply Last reply
    0
    • R Reelix

      Fun fact of the day! Each process on your PC has something called "Modified Page List Bytes" which is additional RAM that a process is using that is hidden from Task Manager. This amount happily sits at around 8GB on my 32GB Desktop Machine. This amount cannot be picked up by Task Manager, and requires specialized RAM-based process monitors to detect (RAMMap, in-depth investigation into Windows Performance Counters, etc). Whilst using such methods can tell you the total amount of invisible RAM being used, there is no way to tell what is using it, if something is leaking it, or even how to easily free it up (Although closing a process will free up its associated modified bytes) Task Manager can show you at 30% total Memory usage when in reality you could be sitting at 90%+ and start tossing "Out Of Memory" exceptions any moment now. Disable your Pagefile to drastically speed up this process to experience this first hand :) Have fun :p

      -= Reelix =-

      R Offline
      R Offline
      raddevus
      wrote on last edited by
      #25

      That's really great information and explains some additional things I've seen in recent past where things have crashed even though I have 0.5-1GB free (according to TaskManager). Thanks for posting.:thumbsup:

      1 Reply Last reply
      0
      • R raddevus

        I've had my i7 laptop with 8GB for at least 4 years now (started out on win 8.1). It has worked fine. I could run 1. web browser 2. Android Studio 3. Android emulator All at the same time and I never had a problem. Now, I cannot run those 3 or all my RAM is gone. I can now only (barely) run the 1. web browser 2. android studio The only way i can use my computer for Android development now is to use an externally connected android device to run/debug apps on. Very sad. This laptop is not able to upgrade to 16GB. I know. It's crazy and cheapo. Actually, I can barely run the web browser when Android Studio is running. Not great. When I open too many tabs the tabs just crash and burn. Win 10 Ram Eater? Anyways, I also noticed this in win 10 at work and now at home. Check out how many svchost.exe processes are running: I can't even fit them all on one screen (in task manager) see the snapshot : https://i.stack.imgur.com/bPaaD.png[^] What is going on? Has anyone else noticed this? EDIT - Android Studio RAM Android Studio eats > 1.0 GB And it starts up two Java Processes java.exe - 823 MB java.exe - 333 MB Oy! Meanwhile, any browser eats up about 1 GB (my FF is at 723 MB). That's 3 GB and the rest of the 8GB is basically eaten up by random win10 and other background processes. Such is the modern life, I assume.

        U Offline
        U Offline
        User 2893688
        wrote on last edited by
        #26

        [Computer Memory: 640K Ought to be Enough for Anyone – Quote Investigator](https://quoteinvestigator.com/2011/09/08/640k-enough/)

        R 1 Reply Last reply
        0
        • U User 2893688

          [Computer Memory: 640K Ought to be Enough for Anyone – Quote Investigator](https://quoteinvestigator.com/2011/09/08/640k-enough/)

          R Offline
          R Offline
          raddevus
          wrote on last edited by
          #27

          Quote Investigator is fantastic! I always enjoy their articles. Just last week I read one on the quote:

          anonymous/unknown[^]

          To Avoid Criticism, Say Nothing, Do Nothing, Be Nothing

          1 Reply Last reply
          0
          • R raddevus

            I've had my i7 laptop with 8GB for at least 4 years now (started out on win 8.1). It has worked fine. I could run 1. web browser 2. Android Studio 3. Android emulator All at the same time and I never had a problem. Now, I cannot run those 3 or all my RAM is gone. I can now only (barely) run the 1. web browser 2. android studio The only way i can use my computer for Android development now is to use an externally connected android device to run/debug apps on. Very sad. This laptop is not able to upgrade to 16GB. I know. It's crazy and cheapo. Actually, I can barely run the web browser when Android Studio is running. Not great. When I open too many tabs the tabs just crash and burn. Win 10 Ram Eater? Anyways, I also noticed this in win 10 at work and now at home. Check out how many svchost.exe processes are running: I can't even fit them all on one screen (in task manager) see the snapshot : https://i.stack.imgur.com/bPaaD.png[^] What is going on? Has anyone else noticed this? EDIT - Android Studio RAM Android Studio eats > 1.0 GB And it starts up two Java Processes java.exe - 823 MB java.exe - 333 MB Oy! Meanwhile, any browser eats up about 1 GB (my FF is at 723 MB). That's 3 GB and the rest of the 8GB is basically eaten up by random win10 and other background processes. Such is the modern life, I assume.

            D Offline
            D Offline
            Daniel Wilianto
            wrote on last edited by
            #28

            Even though it is scvhost.exe, it doesn't mean that Windows 10 is at fault. Exit Android Studio and you will see your RAM freed up. From my experience, scvhost is generic service something. It can be called by anyone.

            1 Reply Last reply
            0
            • R Rage

              This is representative of society today : waste resources because there are "plenty" of them instead of trying to optimize.

              Do not escape reality : improve reality !

              enhzflepE Offline
              enhzflepE Offline
              enhzflep
              wrote on last edited by
              #29

              Ha! While it makes me the source of derision more and more these days, I still have operational copies of TASM, NASM and MASM. Also, an apple, banana and an orange cost an awful lot less than the quantity of petrol needed to get me *and* the car somewhere..

              1 Reply Last reply
              0
              • K kalberts

                In the old days of virtual memory, when we had to pay for RAM chips (that is, more than small change) ... There was the concept of "working set": The resources actually in use. If they are not in use, why should they occupy space in RAM? Fortunately, both Windows and the x32/x64 architecture have roots back to those days. They can shuffle virtual memory pages in and out as they are needed. You can pretend to have a 16 GB RAM machine, because you only make actual use of half of the data/code. All the memory segments have been assigned addresses in memory space, but they are not actually brought into RAM until you actually reference them. As long as your working set fits into RAM, the performance of your system is very little affected. I can assure you: You are not referencing more than two million different memory pages (each 4 kibyte) all the time! Lots of the code perform functions you are not using (and if you start using them, it takes a handful milliseconds to brin them in), or initialization code that can be thrown out once run, or tables that you are not referencing (say, user messages in some strange language you do not master anyway), and so on. For a number of years, quite a few people have believed that virtual memory slows down execution even when you have so much RAM that you can load all the segments, not just your working set. They believe that they speed up the machine by turning off paging. Placebo works. They know that it gives better performance. If it can at all be measured, I guess it would be by fractions of a percent - not the least because most of it is handled in hardware that is active even if you turn off the software to handle a possible page fault. Disabling a page fault handler that is never called anyway gives no speed-up. The main effect of turning off paging is that your physical RAM size sets an absolute limit to the total size of programs you can have in memory. When you hit the ceiling, it is hard. If you really are banging your head into the ceiling at 8 GByte, it sounds as if paging is turned off on your machine. Turn it on, and you can go up to 16 GByte virtual memory space. You can go even higher, but the default setting in Windows is to set virtual memory to twice the physical one. It will cost you 8 Gbyte of disk space on your primary disk, but that you can afford! (If it is a flash disk, the impact of a page fault will also be far less than with a magnetic disk.) In the old days, when RAM was super-expensive, you could

                O Offline
                O Offline
                objectvill
                wrote on last edited by
                #30

                Member 7989122 wrote:

                I can assure you: You are not referencing more than two million different memory pages (each 4 kibyte) all the time!

                Yes, you are. That is the problem. Not exactly all time, but in a minute you may need to reference 30 millions of pages. The OS will have to swap pages a lot. You have running Java virtual machine, .NET, ARM emulator, an editor with has in memory all the methods and variables and modules, so it can prompt you parameters or suggest properties. You have the debugger running. You have a browser, each page with its images, with page rendered in memory to display it fast, running the javascript machine, with the DOM of the page, plus plugins, etc etc. Software is more bloated day by day, so every application/program/service pretends that you have 4Gb of RAM. You operating system is thus emulating a 200 Gb machine and it is continuously swapping pages.

                Quote:

                If you really are banging your head into the ceiling at 8 GByte, it sounds as if paging is turned off on your machine.

                No, I'm sure he hasn't turned off paging. No modern software can run without paging. I don't think that a standard windows 10 installation can boot without paging. Simply the system is slow because software uses a lot of memory and it swaps pages lot. He clicks on window, the OS dumps all memory associated to the current window and loads the memory associated to the new active window because it has the whole physical RAM used, and that takes a few milliseconds. Finally every gesture means swapping, so applications don't run, creep.

                K 1 Reply Last reply
                0
                • O objectvill

                  Member 7989122 wrote:

                  I can assure you: You are not referencing more than two million different memory pages (each 4 kibyte) all the time!

                  Yes, you are. That is the problem. Not exactly all time, but in a minute you may need to reference 30 millions of pages. The OS will have to swap pages a lot. You have running Java virtual machine, .NET, ARM emulator, an editor with has in memory all the methods and variables and modules, so it can prompt you parameters or suggest properties. You have the debugger running. You have a browser, each page with its images, with page rendered in memory to display it fast, running the javascript machine, with the DOM of the page, plus plugins, etc etc. Software is more bloated day by day, so every application/program/service pretends that you have 4Gb of RAM. You operating system is thus emulating a 200 Gb machine and it is continuously swapping pages.

                  Quote:

                  If you really are banging your head into the ceiling at 8 GByte, it sounds as if paging is turned off on your machine.

                  No, I'm sure he hasn't turned off paging. No modern software can run without paging. I don't think that a standard windows 10 installation can boot without paging. Simply the system is slow because software uses a lot of memory and it swaps pages lot. He clicks on window, the OS dumps all memory associated to the current window and loads the memory associated to the new active window because it has the whole physical RAM used, and that takes a few milliseconds. Finally every gesture means swapping, so applications don't run, creep.

                  K Offline
                  K Offline
                  kalberts
                  wrote on last edited by
                  #31

                  You may be making 30 million memory accesses per second to some memory page - that is one per 80-100 clock cycles - but those are essentially to pages already in RAM. (Actually, even 30 million sounds high: The great majority of memory references hit the cache, and doesn't even go out to RAM.) If you really reference every corner of 120 GByte (30 million 4ki pages) every minute, then you are working with tasks such as weather forecasts or FEM. Not general software development. If you generated one page fault every 33 microsecond, there would be now way for the disk to serve the requests. Not even a flash disk can deliver 120 Gbytes/sec (30 million * 4 ki) from the paging disk, so within a brief moment, the threads not blocked on a page fault would have the CPU to themselves and run at top speed :-) ... and that claimed 30 million accesses a second would drop to almost zero. In other words: I do not trust your figures at all.

                  objectvill wrote:

                  I think that not even windows 10 can boot without paging.

                  At boot time, paging is certainly not activated! It needs an OS in place to set up page tables properly; all entries are empty. I don't know how far you will stretch the "boot" time; if it goes all the way up to the login dialog, the OS has certainly done the initialization. You can tell Windows not to use a paging file; then you will never page anythng out to disk. I assume that read-only segments (e.g. code) are still read on demand from the .exe/.dll - the "memory mapped file" mechanism uses the paging tables, and code access is very close to the same thing. So page tables are used, the hardware is there and difficult to overlook. You will have that logical-to-physical mapping in any case, whether you have a page file or not. You may call it "paging" because page tables are used; I do not, when the main purpose is to allow different applications to run in overlapping virtual address spaces which are mapped to distinct physical spaces, not to provide more virtual than physical memory. As I said before: Take a look at actual physical disk activity. In the old days, each disk had a LED indicating physical activty; today they do not, but the SATA controller may have a head for connecting a LED indicating activity on any of the disks controlled by it. The Resource Monitor can tell you for how large percentage of time the driver is waiting for the disk, but not even that will necessarily indicate physical access: All (magnetic) di

                  K 1 Reply Last reply
                  0
                  • K kalberts

                    You may be making 30 million memory accesses per second to some memory page - that is one per 80-100 clock cycles - but those are essentially to pages already in RAM. (Actually, even 30 million sounds high: The great majority of memory references hit the cache, and doesn't even go out to RAM.) If you really reference every corner of 120 GByte (30 million 4ki pages) every minute, then you are working with tasks such as weather forecasts or FEM. Not general software development. If you generated one page fault every 33 microsecond, there would be now way for the disk to serve the requests. Not even a flash disk can deliver 120 Gbytes/sec (30 million * 4 ki) from the paging disk, so within a brief moment, the threads not blocked on a page fault would have the CPU to themselves and run at top speed :-) ... and that claimed 30 million accesses a second would drop to almost zero. In other words: I do not trust your figures at all.

                    objectvill wrote:

                    I think that not even windows 10 can boot without paging.

                    At boot time, paging is certainly not activated! It needs an OS in place to set up page tables properly; all entries are empty. I don't know how far you will stretch the "boot" time; if it goes all the way up to the login dialog, the OS has certainly done the initialization. You can tell Windows not to use a paging file; then you will never page anythng out to disk. I assume that read-only segments (e.g. code) are still read on demand from the .exe/.dll - the "memory mapped file" mechanism uses the paging tables, and code access is very close to the same thing. So page tables are used, the hardware is there and difficult to overlook. You will have that logical-to-physical mapping in any case, whether you have a page file or not. You may call it "paging" because page tables are used; I do not, when the main purpose is to allow different applications to run in overlapping virtual address spaces which are mapped to distinct physical spaces, not to provide more virtual than physical memory. As I said before: Take a look at actual physical disk activity. In the old days, each disk had a LED indicating physical activty; today they do not, but the SATA controller may have a head for connecting a LED indicating activity on any of the disks controlled by it. The Resource Monitor can tell you for how large percentage of time the driver is waiting for the disk, but not even that will necessarily indicate physical access: All (magnetic) di

                    K Offline
                    K Offline
                    kalberts
                    wrote on last edited by
                    #32

                    I make a mistake by a factor of 1000, and not a single voice was raised... 30 million accesses a second makes 33 nanoseconds - not microseconds, as I wrote - between each access, on the average. I can assure you that no paging system can serve a hard page fault in 30 nanoseconds. That is like 100 clock cycles. Obviously it cannot be handled. But even referencing a new and swapped out memory page every 100 clock cycles, on the average, appears to be slightly on the high side.

                    1 Reply Last reply
                    0
                    • R raddevus

                      I've had my i7 laptop with 8GB for at least 4 years now (started out on win 8.1). It has worked fine. I could run 1. web browser 2. Android Studio 3. Android emulator All at the same time and I never had a problem. Now, I cannot run those 3 or all my RAM is gone. I can now only (barely) run the 1. web browser 2. android studio The only way i can use my computer for Android development now is to use an externally connected android device to run/debug apps on. Very sad. This laptop is not able to upgrade to 16GB. I know. It's crazy and cheapo. Actually, I can barely run the web browser when Android Studio is running. Not great. When I open too many tabs the tabs just crash and burn. Win 10 Ram Eater? Anyways, I also noticed this in win 10 at work and now at home. Check out how many svchost.exe processes are running: I can't even fit them all on one screen (in task manager) see the snapshot : https://i.stack.imgur.com/bPaaD.png[^] What is going on? Has anyone else noticed this? EDIT - Android Studio RAM Android Studio eats > 1.0 GB And it starts up two Java Processes java.exe - 823 MB java.exe - 333 MB Oy! Meanwhile, any browser eats up about 1 GB (my FF is at 723 MB). That's 3 GB and the rest of the 8GB is basically eaten up by random win10 and other background processes. Such is the modern life, I assume.

                      M Offline
                      M Offline
                      Member 13910783
                      wrote on last edited by
                      #33

                      I use Android Studio + Emulator + Firefox + Thunderbird on an older AMD A10 on Ubuntu Linux and the whole thing seldom goes over 6GB of ram. Sometimes I have IntelliJ open at the same time all well under 8GB. I guess there's something in your windows.

                      1 Reply Last reply
                      0
                      Reply
                      • Reply as topic
                      Log in to reply
                      • Oldest to Newest
                      • Newest to Oldest
                      • Most Votes


                      • Login

                      • Don't have an account? Register

                      • Login or register to search.
                      • First post
                        Last post
                      0
                      • Categories
                      • Recent
                      • Tags
                      • Popular
                      • World
                      • Users
                      • Groups