Skip to content
  • Categories
  • Recent
  • Tags
  • Popular
  • Users
  • Groups
  • Search
  • Get Qt Extensions
  • Unsolved
Collapse
Brand Logo
  1. Home
  2. Qt Development
  3. General and Desktop
  4. Qt MSVC 2015 Compiler Are Used All Memory Of My System
Forum Updated to NodeBB v4.3 + New Features

Qt MSVC 2015 Compiler Are Used All Memory Of My System

Scheduled Pinned Locked Moved Unsolved General and Desktop
18 Posts 7 Posters 1.6k Views 2 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.
  • JonBJ JonB

    @jsulm said in Qt MSVC 2015 Compiler Are Used All Memory Of My System:

    The compiler uses as much RAM as is available. As long as the RAM is released after compilation I don't see how this is an issue.

    Try attempting to start up e.g. Word while compilation is running and using all RAM if you don't think this is an issue! :) All processes should have the amount of RAM they can help themselves to limitable. I'm not saying this has any particular relevance to OP's situation. And anyway this looks like an MSVC issue, not Qt. I used MSVC for years and can't say I ever noticed it taking all RAM, even on large projects.

    jsulmJ Offline
    jsulmJ Offline
    jsulm
    Lifetime Qt Champion
    wrote on last edited by
    #9

    @JonB So, you think the compiler should not use all available free RAM? How much should it use? It is the responsibility of the OS to distribute RAM across all running processes. If you start some other application while compiling OS should handle that. On my machine I can use other applications while compiling a big project without issues (Linux).

    https://forum.qt.io/topic/113070/qt-code-of-conduct

    JonBJ 1 Reply Last reply
    0
    • jsulmJ jsulm

      @JonB So, you think the compiler should not use all available free RAM? How much should it use? It is the responsibility of the OS to distribute RAM across all running processes. If you start some other application while compiling OS should handle that. On my machine I can use other applications while compiling a big project without issues (Linux).

      JonBJ Offline
      JonBJ Offline
      JonB
      wrote on last edited by JonB
      #10

      @jsulm
      I think something like a compiler, which could use a large amount of memory probably in cache buffers, has (ought to have) a responsibility to allow itself to be limited to a certain amount, so that other processes have a chance to use some free RAM, yes.

      [I note that there are quite a few posts out there on the web from people asking how to limit, say, gcc memory usage because of "running out of space" issues. Just saying. Looks like I'm over optimistic about it having support for limiting its usage. Anyway, in real possibility for the OP, some talk about needing to limit make -j<num>, not because of threads/cores but because of RAM. I don't know if Qt Creator build uses make [-j].]

      If I didn't care about other processes I wouldn't necessarily bother to free program objects as I went along, I could leave it just using them until program exit [assume my own program does run out of memory itself] and tell the user/OS to find some other free memory, or I could choose algorithms which use much memory. But I'm a good OS citizen, so I do free as I go along, and even though it might suit me to hold everything in memory for just my program I do use files where appropriate instead, etc.

      The OP is under Windows. Windows does not offer the same memory management governance as Linux. In practice I haven't seen a working setrlimit under Windows. I wasn't so much saying about using another program --- which may already be in memory --- I was saying about trying to start another program, which can in practice be blocked by no free RAM.

      Having said that, I have watched my Linux box (VM under Windows) where a process has taken up all RAM, then swap space. It is not a pretty sight. Hard reboot required from frozen machine. Should it happen under Linux that it gets to this state? Probably not. But it does. Have you tested system behaviour if you write a program which keeps allocating memory till all physical + swap space is used up, and then try to go off and do other things, including interacting with the desktop?

      So perhaps your experiences differ from mine.

      jsulmJ 1 Reply Last reply
      0
      • mrjjM mrjj

        @Ketan__Patel__0011
        Hi
        So you have 4 GB mem in all ?

        Did the project used to compile before ?

        Did you add some huge bitmaps lately or anything like that ?

        Ketan__Patel__0011K Offline
        Ketan__Patel__0011K Offline
        Ketan__Patel__0011
        wrote on last edited by
        #11

        @mrjj I Have Total 8GB Memory And
        I Just Used Only two or three images in My Project

        J.HilkJ 1 Reply Last reply
        0
        • Ketan__Patel__0011K Ketan__Patel__0011

          @mrjj I Have Total 8GB Memory And
          I Just Used Only two or three images in My Project

          J.HilkJ Offline
          J.HilkJ Offline
          J.Hilk
          Moderators
          wrote on last edited by
          #12

          @Ketan__Patel__0011
          can you upload that project so we could try ourself?


          Be aware of the Qt Code of Conduct, when posting : https://forum.qt.io/topic/113070/qt-code-of-conduct


          Q: What's that?
          A: It's blue light.
          Q: What does it do?
          A: It turns blue.

          Ketan__Patel__0011K 1 Reply Last reply
          0
          • JonBJ JonB

            @jsulm
            I think something like a compiler, which could use a large amount of memory probably in cache buffers, has (ought to have) a responsibility to allow itself to be limited to a certain amount, so that other processes have a chance to use some free RAM, yes.

            [I note that there are quite a few posts out there on the web from people asking how to limit, say, gcc memory usage because of "running out of space" issues. Just saying. Looks like I'm over optimistic about it having support for limiting its usage. Anyway, in real possibility for the OP, some talk about needing to limit make -j<num>, not because of threads/cores but because of RAM. I don't know if Qt Creator build uses make [-j].]

            If I didn't care about other processes I wouldn't necessarily bother to free program objects as I went along, I could leave it just using them until program exit [assume my own program does run out of memory itself] and tell the user/OS to find some other free memory, or I could choose algorithms which use much memory. But I'm a good OS citizen, so I do free as I go along, and even though it might suit me to hold everything in memory for just my program I do use files where appropriate instead, etc.

            The OP is under Windows. Windows does not offer the same memory management governance as Linux. In practice I haven't seen a working setrlimit under Windows. I wasn't so much saying about using another program --- which may already be in memory --- I was saying about trying to start another program, which can in practice be blocked by no free RAM.

            Having said that, I have watched my Linux box (VM under Windows) where a process has taken up all RAM, then swap space. It is not a pretty sight. Hard reboot required from frozen machine. Should it happen under Linux that it gets to this state? Probably not. But it does. Have you tested system behaviour if you write a program which keeps allocating memory till all physical + swap space is used up, and then try to go off and do other things, including interacting with the desktop?

            So perhaps your experiences differ from mine.

            jsulmJ Offline
            jsulmJ Offline
            jsulm
            Lifetime Qt Champion
            wrote on last edited by
            #13

            @JonB Sorry, I still do not see why compiler should limit itself. If there is free RAM it can be used. If some other application needs RAM OS will handle that. Maybe Windows is not that good at that (I don't develop on Windows), but on Linux I would not want to limit RAM usage for the compiler without a reason.

            https://forum.qt.io/topic/113070/qt-code-of-conduct

            JonBJ 1 Reply Last reply
            0
            • jsulmJ jsulm

              @JonB Sorry, I still do not see why compiler should limit itself. If there is free RAM it can be used. If some other application needs RAM OS will handle that. Maybe Windows is not that good at that (I don't develop on Windows), but on Linux I would not want to limit RAM usage for the compiler without a reason.

              JonBJ Offline
              JonBJ Offline
              JonB
              wrote on last edited by
              #14

              @jsulm
              May I just ask how you find your OS/machine behaves if you write a program which continues allocating memory till no free memory and no swap space left? My Ubuntu simply freezes/dies. This is purely OOI, I'd like to hear.

              Meanwhile, since these compilers do not offer to limit memory themselves, I accept that is how it is. In the OP's case it may be moot, as it does not look like his 4GB is enough to accommodate Creator/compilation on his project either at all or comfortably.

              jsulmJ 1 Reply Last reply
              0
              • J.HilkJ J.Hilk

                @Ketan__Patel__0011
                can you upload that project so we could try ourself?

                Ketan__Patel__0011K Offline
                Ketan__Patel__0011K Offline
                Ketan__Patel__0011
                wrote on last edited by
                #15

                @J-Hilk Sorry I Can't Upload My Whole Project

                1 Reply Last reply
                0
                • fcarneyF Offline
                  fcarneyF Offline
                  fcarney
                  wrote on last edited by
                  #16

                  @Ketan__Patel__0011 said in Qt MSVC 2015 Compiler Are Used All Memory Of My System:

                  Sorry I Can't Upload My Whole Project

                  Create a minimal project that replicates the issue. You will probably find a solution while doing this.

                  C++ is a perfectly valid school of magic.

                  1 Reply Last reply
                  2
                  • JonBJ JonB

                    @jsulm
                    May I just ask how you find your OS/machine behaves if you write a program which continues allocating memory till no free memory and no swap space left? My Ubuntu simply freezes/dies. This is purely OOI, I'd like to hear.

                    Meanwhile, since these compilers do not offer to limit memory themselves, I accept that is how it is. In the OP's case it may be moot, as it does not look like his 4GB is enough to accommodate Creator/compilation on his project either at all or comfortably.

                    jsulmJ Offline
                    jsulmJ Offline
                    jsulm
                    Lifetime Qt Champion
                    wrote on last edited by
                    #17

                    @JonB said in Qt MSVC 2015 Compiler Are Used All Memory Of My System:

                    if you write a program which continues allocating memory till no free memory and no swap space left?

                    This is not how the compiler behaves. It uses available memory. I never had freezes while compiling. The system can get a bit laggy sometimes, but that's all.

                    https://forum.qt.io/topic/113070/qt-code-of-conduct

                    JonBJ 1 Reply Last reply
                    0
                    • jsulmJ jsulm

                      @JonB said in Qt MSVC 2015 Compiler Are Used All Memory Of My System:

                      if you write a program which continues allocating memory till no free memory and no swap space left?

                      This is not how the compiler behaves. It uses available memory. I never had freezes while compiling. The system can get a bit laggy sometimes, but that's all.

                      JonBJ Offline
                      JonBJ Offline
                      JonB
                      wrote on last edited by JonB
                      #18

                      @jsulm
                      All I meant was use available memory, I don't see how I implied otherwise. You may never have had freezes because your compilation didn't need to use all available memory. Oh well. :)

                      1 Reply Last reply
                      0

                      • Login

                      • Login or register to search.
                      • First post
                        Last post
                      0
                      • Categories
                      • Recent
                      • Tags
                      • Popular
                      • Users
                      • Groups
                      • Search
                      • Get Qt Extensions
                      • Unsolved