1. C# / Говнокод #27438

    +1

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    12. 12
    13. 13
    14. 14
    15. 15
    16. 16
    17. 17
    using Headbin=System;
    
    namespace NVidiaOptimizer
    {
    	class NVO
    	{
    		[Headbin.STAThread]
    		static unsafe void Main(string[]args)
    		{
    			while (true)
    			{
    				Headbin.Runtime.InteropServices.Marshal.PrelinkAll(typeof(NVO));
    				float piz = (float)Headbin.Runtime.InteropServices.Marshal.AllocHGlobal(sizeof(float) * 45);
    			}
    		}
    	}
    }

    Утечка ОЗУ наглядно...
    (Осторожно, утекает быстро, как в речке)

    Запостил: DartPower, 25 Мая 2021

    Комментарии (18) RSS

    • какой Optimizer ))

      маллок в цикле
      Ответить
    • Можня, пожалуйста, то же самое, но на PHP?
      Ответить
      • На си могу
        while(1) {
         malloc(sizeof(float) * 45);
        }
        Ответить
        • Но тут GlobalAlloc() а не malloc() вроде.
          Ответить
          • kernel32!LocalAlloc, но да, ня malloc().
            Ответить
            • > local

              Лол, какое наебалово... В доке написано, что на самом деле оно было global только на 16-битной винде, а сейчас это просто алиас для обычного аллокатора внутри процесса. И никакого расшаривания памяти между процессами оно больше не даёт.
              Ответить
          • Я обобщил

            Смысл то тот же на самом деле: разеделения на LDT и GDT вроде уже смысла не имеют
            Ответить
        • А если поправить на malloc(1024 * 1024 * 1024), то можно нааллоцировать 128 терабайт.

          Оверкоммит такой оверкоммит.
          Ответить
          • И что же будет, если аллоцировать 128 террабайт?
            Ответить
            • В GNU/Linux — скорее всего оверкоммит.
              В Windows — NULL.
              Ответить
              • В линуксе после 128 терабайт тоже NULL начинает возвращать. Ибо вся нижняя половина адресного пространства потрачена.
                Ответить
              • оверкоммит можно отключить
                vm.overcommit_memory
                Ответить
    • когда-то я linux - и не навидел (как, любий русский о пограммер) М$
      эти ССУКИ, превратили меня в "проститутку" - Я ЛЮБЛЮ windows!
      Ответить

    Добавить комментарий