Форум программистов, компьютерный форум, киберфорум
C# для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.91/79: Рейтинг темы: голосов - 79, средняя оценка - 4.91
63 / 62 / 11
Регистрация: 28.12.2011
Сообщений: 280

Заполнить оперативную память для отказа

23.05.2013, 08:48. Показов 15281. Ответов 10
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Пытаюсь заполнить оперативную память, чтобы посмотреть как себя поведет система))
написал вот такой код
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Collections;
 
namespace ozuTest
{
    class Program
    {
        static  List<MyBuffer> buffer = new List<MyBuffer>();
        static void Main(string[] args)
        {
            while (true)
            {
                MyBuffer buf = new MyBuffer();
                buffer.Add(buf);
                Console.WriteLine("Мегабайт загружено в память : " + (buffer.Count));
            }
 
        }
    }
 
    class MyBuffer
    {
        byte[] buf = new byte[1048576];
    }
}
но на 1500 с чем то вылезает исключение
OutOfMemoryException
как быть? почему мне нельзя использовать столько памяти сколько нужно?)
1
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
23.05.2013, 08:48
Ответы с готовыми решениями:

Посоветуйте оперативную память для ПК
Доброго времени суток. У меня появилась проблемка, в железе я разбираюсь плохо, конечно архитектуру знаю, всякие там шины, чипсеты.......

Квота на оперативную память для пользователя
Как установить квоту на использование оперативной памяти для пользователя в Windows Server 2016?

Посоветуйте оперативную память для I5 9600kf
Посоветуйте,пожалуйста,оперативную память для I5 9600kf

10
 Аватар для buntar
543 / 544 / 181
Регистрация: 16.03.2012
Сообщений: 1,160
Записей в блоге: 2
23.05.2013, 08:52
Цитата Сообщение от Good1101 Посмотреть сообщение
OutOfMemoryException
Исключение, которое вызывается при недостаточном количестве памяти для дальнейшего выполнения программы. Вопрос, сколько у вас оперативки на ПК?
0
63 / 62 / 11
Регистрация: 28.12.2011
Сообщений: 280
23.05.2013, 09:00  [ТС]
у меня 16гб оперативной памяти. Пробовал иначе по 1024 байт добавлять в список, но опять при 1600 с чем то вылезло исключение, может есть какое-то ограничение на размер List ?) при этом в диспетчере задач используется только 4гб с чем-то всего. Ведь еще же может использоватся память жосткого диска при недостатке оперативной?
0
 Аватар для nio
6050 / 3460 / 336
Регистрация: 14.06.2009
Сообщений: 8,136
Записей в блоге: 2
23.05.2013, 09:44
Good1101, не помню где, но мелькала такая инфа, что ОС выделяет на процесс не более 2ГБ ОЗУ. Так сказать "защита от горе-программеров, которые не контролируют свою память"
0
713 / 680 / 126
Регистрация: 30.03.2012
Сообщений: 1,124
23.05.2013, 09:45
вам clr не выдаст столько памяти чтобы засрать 16гб оперативки
0
Эксперт Java
 Аватар для turbanoff
4094 / 3828 / 745
Регистрация: 18.05.2010
Сообщений: 9,331
Записей в блоге: 12
23.05.2013, 10:09
Вот такая программа - забивает все что есть. Буфер заполняется - чтобы можно было видеть потребление памяти в стандартном диспетчере задач (Он показывает только Working Set)
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
        static List<byte[]> buffer = new List<byte[]>();
        static void Main()
        {
            while (true)
            {
                var buf = new byte[1048576];
                for (int j = 0; j < buf.Length; j++)
                {
                    buf[j] = 1;
                }
                buffer.Add(buf);
                Console.WriteLine("Мегабайт загружено в память : " + (buffer.Count));
            }
        }
Добавлено через 19 секунд
Цитата Сообщение от Tessen Посмотреть сообщение
вам clr не выдаст столько памяти чтобы засрать 16гб оперативки
С чего это?

Добавлено через 18 секунд
Цитата Сообщение от nio Посмотреть сообщение
Good1101, не помню где, но мелькала такая инфа, что ОС выделяет на процесс не более 2ГБ ОЗУ. Так сказать "защита от горе-программеров, которые не контролируют свою память"
Только для 32-х битных программ.
Вложения
Тип файла: zip app4test.zip (2.0 Кб, 82 просмотров)
2
63 / 62 / 11
Регистрация: 28.12.2011
Сообщений: 280
23.05.2013, 10:28  [ТС]
хм.. а я сделал так
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
using System;
using System.Collections.Generic;
using System.Diagnostics;
using System.Threading;
namespace ozuTest
{
    class Program
    {
        static  List<MyBuffer> buffer = new List<MyBuffer>();
 
        static int bufLast;
        static void Main(string[] args)
        {
            
            if (args.Length > 0)
            {
                bufLast = int.Parse(args[1]);
            }
            while (true)
            {
                    MyBuffer buf = new MyBuffer();
                    buffer.Add(buf);
                    Console.WriteLine("Мегабайт загружено в память : " + (int)((buffer.Count + bufLast) / 120.4));
                    if (buffer.Count / 120.4f > 1200)
                    {
                        Console.WriteLine("error");
                        ProcessNew();
                        Thread.Sleep(1000000000);
                    }
                
            }
        }
        static void ProcessNew()
        {
            Process proc = new Process();
            proc.StartInfo.FileName = "ozuTest.exe";
            proc.StartInfo.Arguments = ("-a " + (buffer.Count + bufLast));
            proc.Start();
        }
    }
 
    class MyBuffer
    {
        byte[] buf = new byte[10240];
        
    }
}
забил в память больше 38гиов ) при том что 4 уже использовались, после чего комп завис почти намертво, и даже после закрытия всех приложений продолжал тупить сильно.
1
0 / 0 / 0
Регистрация: 29.07.2016
Сообщений: 1
31.07.2016, 12:55
Заполняет только 1.6 gb а затем вылетает
На компе 48 gb оперативы.
0
Эксперт .NET
 Аватар для kolorotur
17823 / 12973 / 3382
Регистрация: 17.09.2011
Сообщений: 21,261
31.07.2016, 21:50
Цитата Сообщение от M1ham Посмотреть сообщение
Заполняет только 1.6 gb а затем вылетает
На компе 48 gb оперативы.
Не путайте количество оперативы и объем виртуальной памяти — это разные вещи.
Конкретно эта ошибка может вылететь, если в виртуальной памяти, например, недостаточно подряд идущих адресов для выделения под массив определенного размера.

Если говорить предметно, то объем памяти, который может использовать ваше приложение, технически ограничен только количеством свободного места на жестком диске. Оперативная память — это не более, чем оптимизация.
А вот объем виртуальной памяти всегда ограничен: в 32-битных процессах это 2ГБ, в 64-битных по умолчанию 8ТБ.
Но даже в 64-битных процессах может вылететь исключение о нехватки памяти при попытке создать большой массив. Например, если она фрагментирована.
1
Ушел с форума
Эксперт С++
 Аватар для Убежденный
16481 / 7444 / 1187
Регистрация: 02.05.2013
Сообщений: 11,616
Записей в блоге: 1
31.07.2016, 22:06
Цитата Сообщение от kolorotur Посмотреть сообщение
объем памяти, который может использовать ваше приложение, технически ограничен только количеством свободного места на жестком диске.
Не совсем так. Использование RAM и жесткого диска (подкачка) тоже упирается в
определенные лимиты, больше которых система скушать не может. По ограничениям
технического и лицензионного характера.
0
0 / 0 / 0
Регистрация: 05.09.2018
Сообщений: 3
12.11.2018, 22:01
А как программно можно очистить память, которую забил єтой прогой?
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
12.11.2018, 22:01
Помогаю со студенческими работами здесь

Ищу оперативную память для ноута
Хочу увеличить объем ОП, нужно найти такую же планку ссылка на фото

Какую оперативную память выбрать для Ryzen
Помогите с выбором оперативной памяти, Я в замешательстве. Собираю бюджетную сборку на Ryzen Мать - GIGABYTE B450M S2H Ryzen 3 2200G,...

Не могу найти оперативную память для ноутбука
Добрый день, столкнулся с проблемой, не могу найти оп.память на ноутбук. Стоит 2гб 1333мгц DDR3L, хочу поставить 4гб. В магазинах не нашел,...

Подобрать дополнительную оперативную память для старого ПК
Всем привет. Я хотел бы перейти с X32 на X64 и увеличить оперативную память, но железо у меня старое и не знаю есть ли вообще в этом смысл....

Как ограничить используемую оперативную память для Дальнобойщиков 2?
Подскажите что написать в бат файл чтоб игра запускалась с обьемомо занимаемой памяти 1Г, в компе стоит 8Г и поэтому игра не запускается. ...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
11
Ответ Создать тему
Новые блоги и статьи
Ритм жизни
kumehtar 27.02.2026
Иногда приходится жить в ритме, где дел становится всё больше, а вовлечения в происходящее — всё меньше. Плотный график не даёт вниманию закрепиться ни на одном событии. Утро начинается с быстрых,. . .
SDL3 для Web (WebAssembly): Сборка библиотек SDL3 и Box2D из исходников с помощью CMake и Emscripten
8Observer8 27.02.2026
Недавно вышла версия SDL 3. 4. 2 библиотеки SDL3. На странице официальной релиза доступны исходники, готовые DLL (для x86, x64, arm64), а также библиотеки для разработки под Android, MinGW и Visual. . .
SDL3 для Web (WebAssembly): Реализация движения на Box2D v3 - трение и коллизии с повёрнутыми стенами
8Observer8 20.02.2026
Содержание блога Box2D позволяет легко создать главного героя, который не проходит сквозь стены и перемещается с заданным трением о препятствия, которые можно располагать под углом, как верхнее. . .
Конвертировать закладки radiotray-ng в m3u-плейлист
damix 19.02.2026
Это можно сделать скриптом для PowerShell. Использование . \СonvertRadiotrayToM3U. ps1 <path_to_bookmarks. json> Рядом с файлом bookmarks. json появится файл bookmarks. m3u с результатом. # Check if. . .
Семь CDC на одном интерфейсе: 5 U[S]ARTов, 1 CAN и 1 SSI
Eddy_Em 18.02.2026
Постепенно допиливаю свою "многоинтерфейсную плату". Выглядит вот так: https:/ / www. cyberforum. ru/ blog_attachment. php?attachmentid=11617&stc=1&d=1771445347 Основана на STM32F303RBT6. На борту пять. . .
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу, и светлой Луне. В мире покоя нет и люди не могут жить в тишине. А жить им немного лет.
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила» «Время-Деньги» «Деньги -Пуля»
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru