|
|
||
Дискуссия о распределении памяти в ОС11.02.2021, 01:09. Показов 16620. Ответов 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 | |
|
Реализовать процедуры работы со стеком на последовательном распределении памяти
Стек: Реализовать процедуры работы со стеком на последовательном распределении памяти
Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
| Опции темы | |
|
|
Новые блоги и статьи
|
|||
|
Установка MinGW GCC 16.2 и CMake
8Observer8 10.08.2026
VK Видео:
https:/ / vkvideo. ru/ video-240781534_456239017
YouTube:
eY5-5PyI9NM
Текстовая версия
|
Неделя из жизни имитационной модели склада: мои кривые руки растут, откуда надо
anaschu 10.08.2026
Неделя из жизни имитационной модели склада: как я почти написал неправильную логику и что с этим делать
Работаю сейчас над учебно-рабочим проектом: строю в AnyLogic имитационную модель процессов. . .
|
Калькулятор для расчета родства
russiannick 07.08.2026
1. Задача: Создать калькулятор для расчета родства.
Родственных связей существует 8 ступеней, такие как:
p - отец
P - мать
q - муж
Q - жена
b - брат
B - сестра
s - сын
S - дочь
|
Мир по моей воле
kumehtar 07.08.2026
Когда-то кажется, что всё просто. Ты весь такой светлый. Причиняешь добро. Борешься за справедливость в этом тёмном мире.
Потом начинаешь замечать одну неприятную вещь. Почти каждый хороший. . .
|
|
Кредитный калькулятор
Maks 05.08.2026
Решение задачи по прикладной информатике средствами 1С.
Задача:
Напишите приложение-калькулятор, которое помогает рассчитывать параметры кредита для аннуитетного и дифференцированного видов. . .
|
У нас сейчас поговорку "Опять 25" нужно переделать на "Опять +35".
kumehtar 04.08.2026
С ностальгией вспоминаю времена моего детства, когда у нас и правда +25 - была максимальная температура летом. Раньше +25 °C реально казались вершиной жары, когда можно было весь день пропадать на. . .
|
Как ИИ начал спорить и врать (возможно почуяв опасность для себя от индустрии - уход от электроники).
Hrethgir 04.08.2026
Недельный диалог, на фоне событий с НПЗ. Да, из спирта можно получать бензин, и это не сложно. Но потом в схеме я решил избавиться от насоса, при этом полностью сделав контроль подачи спирта в. . .
|
Термопринтер QR701
Argus19 03.08.2026
Термопринтер QR701
Купил два термопринтера QR701.
На сэлф-тесте написано:
Language: PC936 (GB18030).
Что означает, что принтеры могут печатать только латиницу и китайские иероглифы. Так же. . .
|