Перформансе

Како обрисати кеш меморију на Линуку

Како обрисати кеш меморију на Линуку
Кеш меморија система датотека Линук (Паге Цацхе) користи се за брже ИО операције.  Под одређеним околностима администратор или програмер ће можда желети да ручно очисти кеш меморију.  У овом чланку ћемо објаснити како функционише кеш меморија система датотека Линук.  Тада ћемо показати како надгледати употребу кеш меморије и како обрисати кеш меморију.  Направићемо неколико једноставних експеримената перформанси да бисмо проверили да ли предмеморија ради како се очекивало и да ли поступак испирања и чишћења предмеморије такође ради како се очекивало.

Како функционише кеш система датотека датотека Линук

Кернел резервише одређену количину системске меморије за кеширање приступа диску система датотека како би се укупне перформансе брже постигле.  Кеш меморија у Линуку назива се Паге Цацхе. Величина предмеморије страница је подесива са великодушним подразумеваним поставкама које омогућавају кеширање велике количине блокова диска.  Максимална величина кеш меморије и смернице када треба иселити податке из кеш меморије могу се прилагодити параметрима језгра.  Приступ линук кеш меморији назива се повратна кеш меморија.  То значи да ако се подаци записују на диск, они се записују у меморију у кеш меморију и означавају као прљави у кешу док се не синхронизују са диском.  Кернел одржава интерне структуре података да би оптимизовао које податке избацити из кеш меморије када је потребно више простора у кеш меморији.

Током системских позива за читање Линука, кернел ће проверити да ли су тражени подаци ускладиштени у блоковима података у предмеморији, што би био успешан погодак предмеморије и подаци ће се вратити из предмеморије без икаквог ИО-а на систем диска.  За пропуст кеша, подаци ће се дохватати из ИО система и кеш ће се ажурирати на основу смерница кеширања, јер ће ови исти подаци вероватно бити поново затражени.

Када се достигну одређени прагови коришћења меморије, задаци ће започети уписивање прљавих података на диск како би се осигурало да брише кеш меморију.  Они могу утицати на перформансе меморијских и ЦПУ интензивних апликација и захтевају подешавање од стране администратора и / или програмера.

Коришћење бесплатне команде за преглед употребе кеша

Слободну команду из командне линије можемо користити за анализу системске меморије и количине меморије додељене кеширању.  Погледајте наредбу испод:

# бесплатно -м

Оно што видимо из бесплатно наредба изнад је да постоји 7.5 ГБ РАМ-а на овом систему.  Од тога се користи само 209 МБ и 6.5 МБ је бесплатно.  667 МБ се користи у предмеморији међуспремника.  Покушајмо сада да повећамо тај број покретањем наредбе за генерисање датотеке од 1 Гигабајта и читањем датотеке.  Наредба у наставку генерисаће приближно 100 МБ случајних података, а затим ће додати 10 копија датотеке у једну ларге_филе.

# дд иф = / дев / рандом оф = / роот / дата_филе цоунт = 1400000
# фор и у 'сек 1 10'; до ецхо $ и; мачка дата_филе >> ларге_филе; Готово

Сада ћемо обавезно прочитати ову 1 Гиг датотеку, а затим поново проверити бесплатну команду:

# цат ларге_филе> / дев / нулл
# бесплатно -м

Видимо да је употреба међуспремника међуспремника порасла са 667 на 1735 мегабајта, отприлике 1 гигабајт повећања употребе предмеморије међуспремника.

Наредба Проц Сис ВМ Дроп Цацхес

Линук кернел нуди интерфејс за испуштање кеш меморије. Испробајмо ове наредбе и видимо утицај на бесплатну поставку.

# ецхо 1> / проц / сис / вм / дроп_цацхес
# бесплатно -м

Горе можемо видети да је већина додељивања међуспремника међуспремника ослобођена овом наредбом.

Експериментална верификација да Дроп Цацхес ради

Да ли можемо извршити проверу перформанси помоћу кеш меморије за читање датотеке? Прочитајмо датотеку и запишите је на / дев / нулл како бисмо тестирали колико је времена потребно за читање датотеке са диска.  Усмерићемо време са време команда.  Ову команду радимо одмах након брисања кеш меморије помоћу наредби изнад.

Требало је 8.4 секунде за читање датотеке.  Прочитајмо је поново сада да би датотека требало да се налази у кешу система датотека и да видимо колико времена треба сада.

Бум!  Требало је само .2 секунде у поређењу са 8.4 секунде да бисте је прочитали када датотека није била кеширана.  Да бисмо проверили, поновимо ово поново тако што ћемо прво очистити кеш меморију, а затим прочитати датотеку 2 пута.

Савршено је функционисало како се очекивало.  8.5 секунди за неспремљено читање и .2 секунде за меморисано читање.

Закључак

Кеш страница је аутоматски омогућен на Линук системима и транспарентно ће убрзати ИО чувањем недавно коришћених података у кешу.  Ако желите ручно обрисати кеш меморију, што се лако може учинити слањем ецхо наредбе у / проц систем датотека указујући језгру да спусти кеш меморију и ослободи меморију која се користи за кеш меморију.  Упутства за извођење наредбе приказана су горе у овом чланку, а такође је приказана и експериментална валидација понашања кеша пре и после испирања.

Како инсталирати и играти Доом на Линук-у
Увод у Доом Доом серија настала је 90-их година након објављивања оригиналног Доом-а. То је био тренутни хит и од тог времена надаље серија игара је д...
Вулкан за кориснике Линука
Са сваком новом генерацијом графичких картица видимо да програмери игара помичу границе графичке верности и долазе на корак од фотореализма. Али упрко...
ОпенТТД вс Симутранс
Стварање сопствене симулације превоза може бити забавно, опуштајуће и изузетно примамљиво. Због тога морате да испробате што више игара како бисте про...