Я много раз видел, что загрузка процессора составляет 100%, и используется только 50% оперативной памяти. Какая связь между этими двумя? Как производительность влияет на другого?
6 ответов
Процессор обрабатывает (выполняет инструкции для вещей, таких как добавление) вещи в памяти. ОЗУ является лишь частью пирамиды памяти (см. Ниже). Поэтому, когда вы обрабатываете много данных, эти данные (или, возможно, большие их части), вероятно, будут загружены в ОЗУ, поэтому они готовы для процессора, это должно ускорить процесс, потому что доступ к ОЗУ быстрее, чем к устройствам хранения. Таким образом, использование ЦП и ОЗУ часто может коррелировать, но не обязательно.
Основным примером может быть программа для редактирования изображений. Я загружаю свой JPEG размером 20 МБ, программа считывает весь образ, и ОС сохраняет это в оперативной памяти для вас (вся рабочая память выглядит так же, как программа, ОС решает, перейдет ли она в файл page/swap на диске или в оперативной памяти ). Таким образом, изображение находится в ОЗУ, ожидая обработки, но я иду на кофе, прежде чем сказать программе применить какой-то глупый фильтр, чтобы ЦП ничего не делал: высокая ОЗУ, низкий ЦП.
Я возвращаюсь, применяю фильтр, чтобы добавить несколько пузырей к изображению, и процессор уходит на 100%, и даже больше памяти используется, потому что он сохраняет предварительно обработанное изображение в памяти, поэтому я могу отменить только что сделанные изменения. Высокая оперативная память, высокая загрузка процессора.
Когда программа завершит добавление пузырьков, процессор падает, но, возможно, не память.
Конечно, не все так просто :-)
Это те же отношения, что и ваш мозг с книгой. Чем быстрее мозг = чем быстрее вы читаете, тем больше книга = тем больше страниц она может содержать.
ОЗУ используется для сохранения данных. Время процессора используется для обработки данных.
Нет никакой связи между процессором и использованием памяти. Процесс может занимать все процессоры системы, но использовать только минимальный объем памяти. Кроме того, процесс может выделить всю доступную память в системе, но использовать только минимальное время ЦП. Так что между ними нет никакой связи.
Там нет последовательных отношений между ними. Загрузка процессора зависит от того, сколько обработки или работы требуется приложению. ОЗУ - это объем памяти, необходимый для хранения приложения во время его работы.
Больше оперативной памяти = вы можете запускать больше приложений одновременно
Больше ЦП = вы можете выполнять более сложные вычисления / операции
Надеюсь, это поможет.
Они не связаны. В некоторых задачах вы используете только один из этих ресурсов, а в некоторых - оба.
Нет отношений. Думайте об этом с точки зрения выполнения некоторого сверхмощного перебора чисел. ОЗУ - это то, сколько из этих чисел можно сохранить для более быстрого поиска, тогда как ЦП - это то, как быстро эти числа могут выполнять математические операции над ними.
Для того, как одно влияет на другое, давайте предположим, что у вас медленный процессор, но много оперативной памяти. Это означает, что вы можете хранить довольно много таких чисел в памяти - около полумиллиарда из них на обычной 32-битной машине. Но обработка / вычисление / и т.д. На этих числах будет медленнее.
С другой стороны, если у вас быстрый ЦП, но небольшой объем ОЗУ, обработка чисел будет быстрой, но время от времени машине придется перетаскивать их с диска (и снова помещать их обратно, чтобы освободить место для большего количества ), что во много раз медленнее, чем их извлечение из оперативной памяти.
Так что на самом деле каждый влияет на другого, и для лучшей производительности нужно, чтобы оба были хорошими. Однако это полностью зависит от того, что на самом деле делает каждое приложение, и есть другие факторы (такие как скорость диска, кэши процессора и т.д.), О которых нам пока не нужно вдаваться в подробности, но о которых вы должны знать, усложнять вещи.