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

21

Я много раз видел, что загрузка процессора составляет 100%, и используется только 50% оперативной памяти. Какая связь между этими двумя? Как производительность влияет на другого?

Гопи
источник

Ответы:

42

Процессор обрабатывает (выполняет инструкции для вещей, таких как добавление) вещи в памяти. ОЗУ является лишь частью пирамиды памяти (см. Ниже). Поэтому, когда вы обрабатываете много данных, эти данные (или, возможно, большие их части), скорее всего, будут загружены в ОЗУ, поэтому они готовы для процессора, это должно ускорить процесс, поскольку доступ к ОЗУ быстрее, чем к устройствам хранения. Таким образом, использование ЦП и ОЗУ часто может коррелировать, но не обязательно.

Основным примером может быть программа для редактирования изображений. Я загружаю свой 20-мегабайтный файл JPEG, программа считывает весь образ, и ОС сохраняет это в оперативной памяти для вас (вся рабочая память выглядит так же, как программа, ОС решает, перейдет ли она в файл page / swap на диске или в оперативной памяти ). Таким образом, изображение находится в ОЗУ, ожидая обработки, но я иду на кофе, прежде чем сказать программе применить какой-то глупый фильтр, чтобы ЦП ничего не делал: высокая ОЗУ, низкий ЦП.

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

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

Конечно, не все так просто :-)

Изображение Пирамиды Памяти

Кайл Брандт
источник
что такое виртуальная память?
Ooker
@Ooker: я думаю, он имеет в виду виртуальную память?
kailash19
24

Это те же отношения, что и ваш мозг с книгой. Чем быстрее мозг = чем быстрее вы читаете, тем больше книга = тем больше страниц она может содержать.

pauska
источник
2
Оооо ... хорошая аналогия!
MikeyB
И книжная полка является постоянным хранилищем. Ммммммм приятно.
Чарльз Уотсон
Хорошее объяснение :)
Jai
10

ОЗУ используется для сохранения данных. Время процессора используется для обработки данных.

Нет никакой связи между процессором и использованием памяти. Процесс может занимать все процессоры системы, но использовать только минимальный объем памяти. Кроме того, процесс может выделить всю доступную память в системе, но использовать только минимальное время ЦП. Так что между ними нет никакой связи.

Joschi
источник
5

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

Больше оперативной памяти = вы можете запускать больше приложений одновременно

Больше ЦП = вы можете выполнять более сложные вычисления / операции

Надеюсь, это поможет.

Глен Ю.
источник
2

Они не связаны. В некоторых задачах вы используете только один из этих ресурсов, а в некоторых - оба.

буйствовать
источник
1

Нет отношений. Думайте об этом с точки зрения выполнения некоторого сверхмощного перебора чисел. ОЗУ - это то, сколько из этих чисел можно сохранить для более быстрого поиска, тогда как ЦП - это то, как быстро эти числа могут выполнять математические операции над ними.

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

С другой стороны, если у вас быстрый ЦП, но небольшой объем ОЗУ, обработка чисел будет быстрой, но время от времени машине придется перетаскивать их с диска (и снова помещать их обратно, чтобы освободить место для большего количества ), что во много раз медленнее, чем их извлечение из оперативной памяти.

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

Максимус Минимус
источник