Как использовать жесткий диск как оперативную память
Перейти к содержимому

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

  • автор:

Жесткий диск, оперативная память, кэш процессора: почему не хранить все в одном месте?

начало

Сегодня разберем в чем разница между 3 модулями хранения информации. Как они работают и взаимодействуют друг с другом.

Главная цель любой системы хранения — это иметь как можно больший объем и как можно быструю скорость передачи. Этим и обусловлено деление хранилища на 3 модуля. Современный процессор имеет очень высокую скорость обработки информации, для сложения двух 64-битных целочисленных значений, если процессор работает с частотой 4 ГГЦ, ему необходимо всего 0,00000000025 секунды. Жесткому диску за такими скоростями никогда не угнаться

Жесткий диск представляет собой магнитный диск со считывающей головкой только для того, чтобы найти информацию на этом диске ему требуется тысячи наносекунд, не говоря уже о передаче. Современные твердотельные накопители на базе флеш-памяти справляться за сотни наносекунд, но это все равно очень медленно. Жесткий диск находится отдельно от процессора, информацию необходимо отправлять по линиям передачи данных, что также снижает скорость. Необходим посредник, который будет располагаться ближе к процессору и иметь более высокую скорость передачи и этот посредник – оперативная память (RAM).

Динамическая оперативная память (DRAM) намного быстрее, так зачем тогда использовать жесткий диск? Во-первых, память является энергозависимой, т. е. при отключении питания вся информация стирается. Во-вторых, она не хранит большой объем информации (32 ГБ это уже очень много). Так, что хоть жесткий диск и очень медленный, но без него не обойтись. Динамическая оперативная память всегда располагается как можно ближе к процессору. В ней хранится информация, которая необходима процессору в данный момент.

Несмотря на то, что DRAM быстрее твердотельного диска, за процессором ей все равно не угнаться. Поэтому добавили еще один тип памяти – статическая оперативная память (SRAM) она располагается внутри самого процессора максимально близко к вычислительному блоку. Данный вид памяти называют кэшем процессора. Она имеет наименьший объем – в зависимости от уровня кеша, от нескольких кбайт до нескольких мегабайт и наибольшую скорость передачи, близкой к скорости процессора. В ней хранятся набор данных готовых к вычислению.

Давайте подведем итог. Существуют разные аппаратные способы хранения информации и чем они быстрее, тем меньший имеют объем и тем ближе расположены к процессору.

Как увеличить оперативную память за счёт жёсткого диска

Как увеличить оперативную память за счет жёсткого диска

В этой статье разговор пойдет о том, как расширить оперативную память за счет жесткого диска, поскольку ответ на этот вопрос интересует многих пользователей компьютерных устройств. Часто случается так, что подобная манипуляция становится необходимостью и помогает в тех случаях, когда компьютер начинает тормозить и зависать, не реагирует на команды или совсем вылетает.

Системный диск и оперативная память

Оперативная память, или же, как говорят в народе, оперативка, — это произвольного доступа память компьютерного устройства. По сути, оперативка является энергозависимой составляющей частью всей системы памяти компа, где на протяжении какого-то периода времени сохраняются команды и различные данные — те, что нужны процессору для возможности выполнять всевозможные операции.

Следует понимать, что системный диск и оперативная память — это разные вещи. Для увеличения оперативки нужно иметь на диске достаточно свободного места, как минимум 10 или 15 Гб. Если свободного места на ЖД недостаточно, оперативка вместе со своими командами и файлами не «вмещается» на диск, и процессор перестает работать эффективно. Чтобы исправить ситуацию, требуется обеспечить оперативке требуемое место, «расчистив» ЖД и тем самым расширив память и увеличив быстродействие компа.

Как расширить оперативную память за счет ЖД

Чтобы расширить оперативную память за счет ЖД, требуется сделать следующие шаги:

  1. На рабочем столе найдите иконку «Мой компьютер» и кликните по ней правой клавишей мышки.
  2. Перед вами появится контекстное меню, из которого выберите пункт «Свойства» и щелкните по нему.
  3. После клика по «Свойствам» откроется окно с названием «Свойства системы». Здесь вы увидите очень много разных вкладок, но пусть их изобилие вас не пугает, так как вам нужна всего одна — «Дополнительно». Кликните по ней мышью один раз.
  4. Перед вами появится несколько дополнительных пунктов, из которых нужно выбрать вариант «Быстродействие», а в нем — пункт «Параметры».
  5. В «Параметрах» откроется новое окошко с названием «Параметры быстродействия», в котором вам будет предложено выбрать свои дальнейшие действия. Здесь тоже нужно выбрать пункт «Дополнительно».
  6. Взгляните, что предложила вам вкладка. Вы увидите три пункта, из которых выберите строку «Виртуальная память» — и нажмите на кнопку «Изменить».
  7. После этого перед вами снова откроется новое (третье по счету) окно с названием «Виртуальная память».

Расширение памяти диска

Далее рекомендуется действовать предельно внимательно. Вы увидите перечень дисков компьютерного устройства, за счет которых будете расширять оперативную память. Вам нужно определить, сколько свободного места на каждом из дисков. Как правило, расширение оперативной памяти осуществляется за счет дисков С: или D: — допустим, что вас интересует последний вариант.

В окошке «Виртуальная память» кликаете по диску D:, затем выбираете пункт «Особый размер» и вписываете этот самый исходный размер: скажем, 2000 (максимально возможный размер — 4000). Вы можете выставить одинаковые значения и для минимума, и для максимума, причем данное значение можно сделать приблизительно втрое больше, нежели объем вашей «физической» оперативки.

Больше ничего менять не требуется, просто жмите на утвердительную кнопку «ОК». Затем в окошке «Параметры быстродействия» тоже нажмите на «ОК» и в окне «Свойства системы» — также нажимаете на «ОК».

После того как вы проделаете все вышеперечисленные действия, вам останется только перезагрузить компьютерное устройство. На этом всё — оперативка успешно увеличена за счет выбранного вами диска. Вы можете наслаждаться скоростью работы своего компа.

Чистка диска

Однако не забывайте о том, что на системном диске постепенно скапливается много разного «мусора». Это временные программки, приложения, файлы, которые требуется периодически удалять, поскольку весь этот «хлам» занимает место на ЖД и тормозит систему. Для того чтобы очистить жесткий диск, не нужно обладать какими-то особыми познаниями. Достаточно воспользоваться возможностями специальной утилиты, которая очистит и дефрагментирует диск быстро и качественно. Таких программ существует достаточно много, и все они эффективны.

Установите программу на свой компьютер и запустите ее, нажав на кнопку «Поиск». Утилита начнет производить анализ системы вашего компа, а потом предложит отметить галочками файлы и программы, подлежащие удалению. Вы удивитесь, но таковых достаточно много, причем их можно удалять безо всяких последствий для дальнейшей работы на компьютере. Перечень рекомендуемых пунктов для удаления можно найти в Интернете. Отметьте эти пункты и нажмите на кнопку «Очистить». Вам тут же будет сообщено, сколько места на диске освободится после удаления.

Во время анализа системы, удаления «мусора» и дифрагментации вы можете продолжать работать на компьютерном устройстве. Если комп при этом будет притормаживать, не пугайтесь: после очистки его быстродействие существенно ускорится.

Не забывайте чистить диск время от времени, чтобы мусор не накапливался, так как его количество рано или поздно перейдет в «качество» — и вам потребуется много времени, чтобы освободить диск. Приятной вам работы!

Вам нужно увеличить RAM и перейти на SSD…

Задумывались ли вы, хватает ли вашему компьютеру, локальному или удалённому серверу оперативной памяти? Задумывались, но не знаете, как это определить? А накопители какого типа вы предпочитаете? Надеемся, данная статья поможет вам в этом разобраться.

▍ На что влияет объём оперативной памяти

Когда компьютеру нужно обработать данные, они помещаются в оперативную память и уже там с ними работает центральный процессор. Все запущенные программы и открытые в них файлы находятся в оперативной памяти компьютера. Таким образом, объём оперативной памяти влияет на то, сколько одновременно программ и насколько «тяжёлых» программ вы можете запустить и сколько одновременно и каких файлов (или, например, вкладок в браузере) вы можете открыть.

▍ Как производительность диска влияет на быстродействие компьютера

Операционная система периодически выгружает на диск из памяти те данные, к которые давно не использовались. А когда происходит к ним обращение снова, операционная система помещает их обратно в память вместо выгруженных на диск неактивных данных. Для пользователя это выглядит следующим образом: вы переключаетесь на окно, к которому давно не обращались, и компьютер на некоторое время «подвисает». А в это время выгруженные из памяти данные считываются с диска и помещаются обратно в память. Насколько быстро это произойдёт, зависит в первую очередь от быстродействия диска, ведь именно он будет здесь являть узким местом (оперативная память всегда быстрее).

▍ Почему файл подкачки должен находиться на SSD

Чем быстрее накопитель, тем короче будет такое «подвисание». А какие накопители быстрые — твердотельные. Мнение о ненадёжности твердотельных накопителей бытует и поныне, и до сих пор можно встретить советы перенести файл подкачки на HDD. Делать так ни в коем случае нельзя. Во-первых, SSD имеют достаточную надёжность, чтобы использоваться в высоконагруженных системах, если это не китайские «ноунеймы». У всех ключевых производителей есть несколько линеек накопителей с разным гарантированным уровнем надёжности и всегда можно подобрать необходимый вариант. Как показывает практика, накопители ещё долгое время могут проработать и после исчерпания заявленного ресурса. Во-вторых, поверхность пластин жёстких дисков тоже подвержена износу (вот неожиданность!) и со временем падает время доступа к секторам, а с ним и скорость обмена данными вплоть до невозможности обратиться к этим данным вовсе. Т.е. люди, перемещая файл подкачки с SSD на HDD, сами себе делают работу на компьютере менее комфортной. Действенным способом снизить нагрузку на диск подкачкой и увеличить его ресурс является увеличение объёма оперативной памяти или изменение подхода к работе за компьютером: можно закрывать вкладки, файлы, и программы, которые вам больше не нужны или не понадобятся в ближайшее время, чтобы освободить память.

▍ Ключевое отличие SSD от HDD

Если мы посмотрим на разницу скорости линейных чтения и записи на HDD и SSD, окажется, что SSD с интерфейсом SATA превосходят HDD с таким же интерфейсом в среднем «лишь» в 2-3 раза, в то время как на мелко блочных операциях разница составляет десятки раз и именно в этом кроется ключевое отличие накопителей. Механически SSD устроены по-другому и не так важно, где находятся данные, ведь скорость прохождения сигнала к ячейкам SSD гораздо выше, чем время доступа к секторам HDD. С развитием накопителей роль фрагментации данных хоть и снизилась в вопросах производительности HDD, время доступа к разным секторам в силу технических особенностей накопителей данного типа сильно отличается, в то время как разница во времени доступа к ячейкам SSD ничтожно мала. Ещё и поэтому файл подкачки функционирует заметно быстрее, находясь на SSD. Много лет назад, когда SSD ещё не начали получать доступность на потребительском рынке, сильно ощущалась разница в производительности между дефрагментированным файлом подкачки и недефрагментированным. Помимо самого файла, фрагментированными могут быть и данные внутри файла, а на SSD фрагментация уже не играет такой роли. Кроме того, разница в скорости зависела даже от территориального расположения данных на пластине жёсткого диска, и чем дальше данные были от центра, тем быстрее они считывались. На SSD же неважно, где территориально находятся данные, и фрагментация оказывает не такое сильное влияние на производительность.

▍ Почему оперативной памяти должно быть достаточно

Операционная система стремится выгрузить из памяти неактивные данные, чтобы в оперативной памяти всегда оставалось место для новых (или вновь загруженных из файла подкачки) данных. Если оперативной памяти не хватает катастрофически, и данные в оперативной памяти практически «не остывают», то операционной системе приходится «судорожно» искать в памяти данные, которые можно выгрузить на диск, когда требуется разместить данные в оперативной памяти. Поэтому в такой ситуации вы будете ждать дважды: пока данные будут выгружены из памяти, плюс пока требуемые данные будут загружены.

▍ Как понять, хватает ли оперативной памяти

Оценить требуемый объём можно, понаблюдав, сколько памяти требуется вашему компьютеру.
В ОС Windows обратимся к диспетчеру задач, чтобы узнать, сколько сейчас всего используется (Committed) памяти

Это значение показывает, сколько данных находится в памяти, плюс сколько данных выгружено в файл подкачки. Его также можно получить следующим образом:

(Get-WmiObject win32_operatingsystem | select @>).commit

Значение будет в килобайтах. На вышеприведённом скриншоте мы видим, что используется 12.5 ГБ памяти, а всего памяти, включая файл подкачки — 26.4 ГБ. В системе 16 ГБ физической памяти, объём файла подкачки автоматически выбирается системой. Выходит, что объём файла подкачки составляет 60% от объёма физической памяти. Нужно ли бросаться расширять физическую память? Давайте понаблюдаем, как у нас меняется объём используемой памяти.
Мы написали скрипт, создающий задачу в Task Scheduler, которая каждый 15 минут получает значение Committed Memory и дописывает его в файл C:\Users\Public\Documents\commit.txt.
Выглядит он как-то так:

powershell.exe set-executionpolicy unrestricted Set-Content -Path C:\Users\Public\Documents\get-commit.ps1 -Value "(Get-Date -Format 'yyyy-MM-dd HH:mm' )+`"``t`"+(Get-WmiObject win32_operatingsystem | Select @>).commit | Out-File C:\Users\Public\Documents\commit.txt -Append" $action = New-ScheduledTaskAction -Execute "`"C:\Windows\System32\WindowsPowerShell\v1.0\powershell.exe`"" -Argument "C:\Users\Public\Documents\get-commit.ps1" $trigger = New-ScheduledTaskTrigger -Once -At 1am -RepetitionInterval (New-TimeSpan -Minutes 15) $principal = New-ScheduledTaskPrincipal -UserID "NT AUTHORITY\SYSTEM" -LogonType ServiceAccount -RunLevel Highest $settings = New-ScheduledTaskSettingsSet $task = New-ScheduledTask -Action $action -Principal $principal -Trigger $trigger -Settings $settings Register-ScheduledTask 'collect-commit' -InputObject $task

Вот фрагмент этого файла:

2023-05-03 10:15 6387512 2023-05-03 10:30 7986736 2023-05-03 10:45 8545776 2023-05-03 11:00 8540724 2023-05-03 11:15 8646144 2023-05-03 11:30 8726340 2023-05-03 11:45 8583972 2023-05-03 12:00 8898532 2023-05-03 12:15 8945512 2023-05-03 12:30 9749284 2023-05-03 12:45 9833264 2023-05-03 13:00 10605496

Представим данные из файла в виде графика

Как мы видим, большую часть времени система всё же «умещается» в отведённую память. Но нужно ли её расширить, так как иногда её не хватает? Если в работе это не заметно, то можно оставить всё как есть. Если доставляет дискомфорт, то остаётся ещё два выхода: либо всё-таки увеличить объём ОЗУ (но ведь это стоит денег), либо пересмотреть сценарии использования компьютера: закрывать ненужные более вкладки в браузере, файлы и окна программ. Если же это постоянно работающий сервер, то тут придётся пересматривать алгоритмы его работы, если можно доработать или перенастроить ПО, в противном случае придётся всё же добавлять память.
Про Windows выяснили, а в ОС Linux оценить использование памяти можно с помощью команды

free -t -h

Вывод будет примерно следующим:

 total used free shared buff/cache available Mem: 461Mi 129Mi 136Mi 0.0Ki 194Mi 319Mi Swap: 1.0Gi 5.0Mi 1.0Gi Total: 1.5Gi 135Mi 1.1Gi

Параметр -t добавляет строчку Total, на тот случай, если нам лень выполнять сложение (а нам, конечно же, лень). Параметр -h приводит значения к более удобным KiB, MiB и GiB. По умолчанию значения выводятся в килобайтах без указания величин.
Чтобы собрать статистику, можно поступить следующим образом.
Создаём файл с содержимым

#!/bin/bash a=$(date +'%Y-%m-%d %H:%M') b=$(free -t | awk -v RS="" '') echo $a$'\t'$b >> /home/used.txt

И сохраняем его, например, в /home/get-used.sh.
Добавляем в crontab строчку

*/15 * * * * /home/get-used.sh

Информация коллекционируется в /home/used.txt , содержимое которого выглядит так же, как у файла commit.txt , который мы создавали в Windows.
Мы пособирали информацию ещё на двух машинах и получили следующие данные.

В этих двух случаях объём физической памяти 2 ГБ и 512 МБ соответственно. Как мы видим, в случае 2 мы всё время «не умещаемся» в физическую память и её нужно увеличить на 1-2 ГБ.

▍ Вместо заключения

Мы не будем рассказывать, как выбрать правильный SSD или нужную память, это тема отдельной статьи. Хостеры виртуальных (VPS/VDS) серверов уже всё выбрали, вам всего лишь нужно изменить объём памяти вашего сервера и обратиться в техподдержку для перемещения вашего сервера на SSD, если вы всё ещё не сделали это.

Использовать жесткий диск как оперативную память

img

team

Имеет ли смысл использовать жесткий диск как оперативную память?

Нашёл тут ЖД не нужный, вот и решил его так использовать

Или это вообще не работает?

18 Aug 2017 в 12:59 #2

ха, теперь сделаю себе 1 терабайт оперативки, спс за идею

18 Aug 2017 в 12:59 #3

Ты можешь флешку использовать или переносной SSD (HHD пользы не даст) минимум на 4-8гб

Изменения почувствуешь в плане скорости обработки данных, но при этом никакой производительности в играх (фпс и прочее) не почувствуешь

Вот тебе и парадокс, объяснять который нет смысла, потому что сам не понимаю, с чем это связано

18 Aug 2017 в 12:59 #4

Essavian сказал(а):↑

Имеет ли смысл использовать жесткий диск как оперативную память?

Нашёл тут ЖД не нужный, вот и решил его так использовать

Или это вообще не работает?

Нажмите, чтобы раскрыть.

Мне отрежь кусочек, как раз 8 гб нехватает до 16.

18 Aug 2017 в 13:01 #5

18 Aug 2017 в 13:02 #6

Это не так работает Скорость чтения у него ниже и увеличения быстродействия от жд наверное не дождешься

img

18 Aug 2017 в 13:03 #7

Ну я не знаю как это работает, вот и спрашиваю

18 Aug 2017 в 13:06 #8

Скорость жесткого диска намного меньше, чем у оперативки. Так что смысла в этом нету(поставь файл подкачки на текущем диске на 50гб и увидишь, что ничего не изменится)

Даже SSD диски медленнее оперативки в ~25 раз.

18 Aug 2017 в 13:08 #9

Прироста быстродействия не заметишь, имхо

Хотя, в теории на этот ЖД можно поставить Ось, а второй диск использовать для всего остального: игоры, программы, торренты

18 Aug 2017 в 13:11 #10

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

18 Aug 2017 в 13:13 #11

zmnation20 сказал(а):↑

ха, теперь сделаю себе 1 терабайт оперативки, спс за идею

Нажмите, чтобы раскрыть.

Тогда ты станешь в доте для всех Флешем

18 Aug 2017 в 13:19 #12

https://ru.wikipedia.org/wiki/SATA

https://ru.wikipedia.org/wiki/DDR3_SDRAM

Смотрим раздел скорости передачи данных

18 Aug 2017 в 14:08 #13

Essavian сказал(а):↑

Имеет ли смысл использовать жесткий диск как оперативную память?

Нашёл тут ЖД не нужный, вот и решил его так использовать

Или это вообще не работает?

Нажмите, чтобы раскрыть.

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

к тому же по умолчанию в виндовс включен файл подкачки, который делает ровно то же самое. он берет кусочек жесткого диска и использует его как оперативную память, когда это нужно. но правда такова, что лучше отключать файл подкачки, потому что с ним, когда память забивается, компутер начинает так дико лагать, что проще его перезагрузить чем ждать пока разлагает.

а вот делать наоборот, то есть сделать из кусочка оперативной памяти папку для хранения файлов — можно. но тут есть одна проблема: при отключении питания оперативная память обнуляется. по этому перед выключением компутера нужно скопировать файлы из этой папки на жесткий диск, или настроить автоматическое сохранение.

но для бытовых задач нет смысла этим заморачиваться.

так же есть ссд и высокоскоростные флешки, которые можно использовать для подобных целей. но неужели есть деньги на дорогую флешку, но нет денег на плашку озу? допустим мы нашли в лесу ссд, и хотим использовать его как оперативную память: все равно его скорость на пару порядков ниже чем у оперативной памяти

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

Ваш адрес email не будет опубликован. Обязательные поля помечены *