|
|
||
Дискуссия о распределении памяти в ОС11.02.2021, 01:09. Показов 13919. Ответов 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
Реализовать процедуры работы со стеком на последовательном распределении памяти
Стек: Реализовать процедуры работы со стеком на последовательном распределении памяти
Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
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
«Знание-Сила»
«Время-Деньги»
«Деньги -Пуля»
|
SDL3 для Web (WebAssembly): Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 12.02.2026
Содержание блога
Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами и вызывать обработчики событий столкновения. . . .
|
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 11.02.2026
Содержание блога
Библиотека SDL3 содержит встроенные инструменты для базовой работы с изображениями - без использования библиотеки SDL3_image. Пошагово создадим проект для загрузки изображения. . .
|