|
|
||
Дискуссия о распределении памяти в ОС11.02.2021, 01:09. Показов 14596. Ответов 132
Метки нет (Все метки)
Нужно 2793 ГБ. У вас установлено столько в компе?
0
|
||
| 11.02.2021, 01:09 | |
|
Ответы с готовыми решениями:
132
Работа со стеком на последовательном распределении памяти Реализация стека на массиве и динамическом распределении памяти Реализовать процедуры работы со стеком на последовательном распределении памяти |
|
|
||
| 13.02.2021, 11:44 | ||
|
Не будем впадать в крайности, у меня оперативки 16 ГБ, а HDD меньше 100ГБ осталось Достаточно заполнить байтовый массив размером 20 ГБ(21474836480 Байт) и вывести первое и последнее значение в сообщение msg. Скомпилируйте пож-та, если не трудно, я только запущу на выполнение.
0
|
||
|
COM‐пропагандист
|
|
| 13.02.2021, 13:22 | |
|
Вот программа, которая выделяет 20 гигабайт памяти, заполняет символами с «!» по «z» и выводит первый и последний символ на консоль.
1
|
|
|
|
||
| 13.02.2021, 13:53 | ||
|
Во первых, не 20, а все 36! 20 на диске и 16 оперативки скушало. Ну ладно, около 2-х гигов было уже занято, значит 14 ГБ + Во вторых, после закрытия программы ни чего не освободило, так и осталось занятой оперативка и диск. И самое главное, какое отличие от кода уважаемого The trick? Точно так же создал программно из своего приложения Swap посредством CreateFile "Отображённый файл.bin". А что же Винда сама не захотела использовать память свыше моей оперативки, 16 Гигов? Мы же ей явно говорим DIM(20ГБ), типа давай! А она пишет переполнение?
0
|
||
|
Кормпилятор
|
||
| 13.02.2021, 14:12 | ||
|
твоя прога заполняет всю имеющуюся физическую память и уходит в своп, браузер делает тоже самое, хотя даже один браузер, при нехватке памяти делает полный писец, который называется "работать на компе невозможно совсем". Диск начинает колбаситься между четыремя операциями(запись свопа 1, чтение свопа 2, чтение свопа 1, запись свопа 2 ) в хаотичном порядке, как система решит расставить приоритеты. И это только две программы которым нужна память, если на компе запущен ещё софт и ему потребуется память, начнётся тройной расколбас, в таких случаях обычно по звукам из системника слышно, что если такое продолжится ещё минут 5, то хард может попросту развалиться на части, ему становится очень хреново, и комп практически зависает. Скорость всех вышеописанных операций замедляется от 10 раз и ещё больше. Т.е. дело не в маппинге, а в том, что эта подкачка и весь этот механизм вызывает в моменты, когда память переполнена.
0
|
||
|
COM‐пропагандист
|
||||||
| 13.02.2021, 14:33 | ||||||
|
Во‐вторых, если вызвать прямо HeapAlloc или VirtualAlloc на отключённом файле подкачки, то то они в потрохах будет делать CreateFileMapping на INVALID_HANDLE_VALUE, а это ограничит наличием свободного блока максимального размера. Если делать CreateFileMapping на действительном HANDLE, то свободным блоком максимального размера считается весь файл. Добавлено через 5 минут
0
|
||||||
|
Кормпилятор
|
||
| 13.02.2021, 14:43 | ||
|
пусть они откроют в браузере штук хотя бы 20 вкладок, заполненных гугловыми картинками. И это только 1 прога, одна, понимаешь... Уход в своп это больно, абсолютно всегда. Ну конечно, если не трогать совсем комп во время выполнения проги и чтобы он был чистый без софта совсем, ну и чтобы сама прога не давала запросы на чтение и запись по всему map файлу, т.е. сценарий то не особо частый. И чем меньше памяти, тем жопее ситуация и больнее своп.
0
|
||
|
|
||
| 13.02.2021, 14:51 | ||
|
Я как раз за это и говорю - не Винда решает создать дополнительно 4ГБ, которых недостаёт, что было бы логично, а тупо создаётся файл кодом на максимальный объём на все 20ГБ. Почему? Т.е. Винда не умеет определить и дополнить именно недостающий размер с диска. Это означает дикие тормоза в любом раскладе, даже если у меня есть необходимая память, но код всё равно создаст файл. Т.е. такой код бесполезен, вернее вреден.
0
|
||
|
COM‐пропагандист
|
||
| 13.02.2021, 14:51 | ||
|
0
|
||
|
Модератор
|
|||||||
| 13.02.2021, 15:10 | |||||||
|
Добавлено через 12 минут
0
|
|||||||
|
Кормпилятор
|
||||
| 13.02.2021, 15:36 | ||||
Как бы не замечал такого поведения, если памяти хватает. Как это проверить? Загрузить в GIMP-е толстую картинку, отойти на час, потом резко пройтись по всему изображению? Добавлено через 24 минуты Вот мы хотим имея 16 гигабайт завести 100. Это равносильно: имея 2 Гб памяти попытаться использовать 12. Эта ситуация легко моделируется. Прошу попробовать и рассказать о своих впечатлениях о работе за таким компом, т.е. взять например старенький кор дуо\квад, с XP\7 и загрузить на нём 70 вкладок в браузере, это и будет примерно 12 Гб. И повторюсь это лишь одна программа. А софта который может лопатить диск - тоже хватает, это и видеоконвертеры, и архиваторы (вообще дикая штука в такой ситуации) и поиск по диску. А если оно всё вместе - это сразу кирдык))) Через час разверну. Хоть это и не совсем правдивый тест, т.к. память может быть отожрана другим софтом, но всё же интересно проверить сие.
0
|
||||
|
Модератор
|
||
| 13.02.2021, 15:41 | ||
|
Процессу все также доступно 100ГБ виртуальной памяти. Память для других процессов не отжирается, система постоянно свопит только мой процесс, т.к. файл подкачки отключен.
0
|
||
|
Кормпилятор
|
||
| 13.02.2021, 16:37 | ||
|
Ну точнее бывает конечно, если купить соотв. железо и всё разграничить, на каждом диске держать свою софтину и чтобы все вместе не драли один диск. Обычно таких идеальных условий нет. Невозможно гарантировать отсутствие файла подкачки и умеренную работу с диском другого софта. В общем-то про другие вещи говорил и они легко проверяются реальным софтом, но не прогой, которая читает и пишет последовательно, это ничем сильно не отличается от того сценария, про который писал: мол можно самому написать алгоритм и будет не хуже, если мы так делаем(пишем кусочками как в VESA). А если прога пожрёт всю память начнётся своппинг и она будет писать и читать хаотично все эти 100ГБ, раз на это делается упор, плюс своппинг не одного, а нескольких приложений, то это уже другой расклад про который и говорю, расклад, когда включён файл подкачки и в приложениях заводится память самым обычным образом, DIM-ами, ALLOCATE-ами и прочими подобными.
0
|
||
|
Модератор
|
||||
| 13.02.2021, 16:55 | ||||
|
0
|
||||
|
|
||
| 13.02.2021, 17:10 | ||
|
По крайней мере все ваши примеры содержали CreateFile. Если я просто пишу DIM (20ТБ) система мне тупо отказывает.
0
|
||
|
Модератор
|
||||
| 13.02.2021, 17:19 | ||||
|
Если у тебя есть достаточно памяти, то как я и написал ничего свопиться не будет.
0
|
||||
|
|
|
| 13.02.2021, 18:39 | |
|
0
|
|
|
Модератор
|
||
| 13.02.2021, 20:38 | ||
|
Во-вторых, вот те же самые условия как у тебя, только память я выделил правильно, а не как ты:
0
|
||
|
|
|
| 13.02.2021, 21:25 | |
|
0
|
|
|
Модератор
|
|||
| 13.02.2021, 21:45 | |||
|
1
|
|||
|
|
|||
| 13.02.2021, 22:09 | |||
|
Не забываем, что у меня 16ГБ оперативки. И по уму система должна вначале кушать её, а как закончится, то добрать 40+ ГБ из файла подкачки. Но этого не происходит.
0
|
|||
| 13.02.2021, 22:09 | |
|
Помогаю со студенческими работами здесь
60
Реализовать процедуры работы со стеком на последовательном распределении памяти
Стек: Реализовать процедуры работы со стеком на последовательном распределении памяти
Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
| Опции темы | |
|
|
Новые блоги и статьи
|
|||
|
Нейросеть на алгоритме "эстафета хвоста" как перспектива.
Hrethgir 06.05.2026
На десерт, когда запущу сервер.
Статья тут https:/ / habr. com/ ru/ articles/ 1030914/ . Автор я сам, нейросеть только помогает в вопросах которые мне не известны - не знаю людей которые знали-бы. . .
|
Асинхронный приём данных из COM-порта
Argus19 01.05.2026
Асинхронный приём данных из COM-порта
Купил на aliexpress термопринтер QR701. Он оказался странным. Поключил к Arduino Nano. Был очень удивлён. Наотрез отказывается печатать русские буквы. Чтобы. . .
|
попытка написать игровой сервер на C++
pyirrlicht 29.04.2026
попытка написать игровой сервер на плюсах с открытым бесконечным миром.
возможно получится прикрутить интерпретатор питон для кастомизации игровой логики.
что есть на текущий момент:. . .
|
Контроль уникальности выбранного документа-основания при изменении реквизита
Maks 28.04.2026
Алгоритм из решения ниже разработан на примере нетипового документа "ЗаявкаНаРемонтСпецтехники", разработанного в КА2.
Задача: уведомлять пользователя, если указанная заявка (документ-основание). . .
|
|
Благородство как наказание
Maks 24.04.2026
У хорошего человека отношения с женщинами всегда складываются трудно. А я человек хороший. Заявляю без тени смущения, потому что гордиться тут нечем. От хорошего человека ждут соответствующего. . .
|
Валидация и контроль данных табличной части документа перед записью
Maks 22.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа, разработанного в КА2.
Задача: контроль и валидация данных табличной части документа перед записью с учетом регламента компании. . .
|
Отчёт о затраченных материалах за определенный период с макетом печатной формы
Maks 21.04.2026
Отчёт из решения ниже размещён в конфигурации КА2.
Задача: разработка отчёта по затраченным материалам за определённый период, с возможностью вывода печатной формы отчёта с шапкой и подвалом.
В. . .
|
Отчёт о спецтехнике находящейся в ремонте
Maks 20.04.2026
Отчёт из решения ниже размещен в конфигурации КА2.
Задача: отобразить спецтехнику, которая на данный момент находится в ремонте.
Есть нетиповой документ "Заявка на ремонт спецтехники" который. . .
|