Меморија

Оптимизација употребе Линук меморије

Оптимизација употребе Линук меморије
У првом делу ове серије детаљније смо погледали простор замене, а други део се бавио алатима и командама за управљање меморијом. Сада ћемо разговарати о различитим параметрима и стратегијама за оптимизацију меморије и њене употребе уопште. Ово покрива количину меморије, убрзање приступа и стратегију интерне употребе.

Количина меморије

Као што је већ речено у првом делу, целокупна меморија се назива виртуелном меморијом и састоји се од физичке меморије и простора за размену. Доступност физичке меморије зависи од хардвера који је уграђен у машину, као и од тога колико меморије процесор заправо може да адресира. Као пример, 32-битни оперативни системи имају ограничење од 4Г меморије, само (2 ^ 32бит), док оперативни системи засновани на 64бит-у теоретски омогућавају до 16 ЕБ (2 ^ 64бит-а).

Да будемо прецизнији, ограничење је матична плоча са самим процесором, меморијски модули које та матична плоча подржава и одређени меморијски модули који су прикључени у меморијске прикључке на матичној плочи. Један од начина да максимизирате доступну меморију система је употреба сличних меморијских модула који имају највећу могућу величину. Други начин је коришћење заменљиве меморије као што је већ објашњено у првом делу.

Приступ меморији

Даље, у обзир долази побољшање брзине приступа меморији. У почетку физичко ограничење даје сам меморијски модул. Не можете ићи испод физичких граница хардвера. У другом, РАМ диск, а у трећем коришћење зРАМ-а може убрзати приступ меморији. Даље ћемо размотрити ове две технологије.

Креирање РАМ диска

Рамдиск је блок меморије којим оперативни систем рукује као физичким уређајем за чување података - чврсти диск који се у потпуности чува у меморији. Овај привремени уређај постоји чим се систем покрене и омогући рамдиск, а систем или онемогући рамдиск или се искључи. Имајте на уму да се подаци које складиштите на таквом рамдиску губе након искључивања машине.

Можете створити динамички рамдиск путем система датотека тмпфс и путем система датотека рамфс. Обе технологије се значајно разликују једна од друге. Прво, динамичко значи да се меморија за рамдиск додељује на основу његове употребе (тачно за обе методе). Све док на њему не чувате податке, величина диска је 0.

Креирање динамичког рамдиска путем тмпфс-а је следеће:

# мкдир / медиа / рамдиск
# моунт -т тмпфс ноне / медиа / рамдиск

Креирање динамичког рамдиска путем рамфса је следеће:

# мкдир / медиа / рамдиск
# моунт -т рамфс рамфс / медиа / рамдиск

Друго, коришћење тмпфс-а и уколико није изричито наведено, величина диска је ограничена на 50% физичке меморије. Насупрот томе, рамдиск заснован на рамфс-у нема таква ограничења.

Креирање динамичког рамдиска путем тмпфс-а са релативном величином од 20% физичке меморије је следеће:

# мкдир / медиа / рамдиск
# моунт -т тмпфс -о сизе = 20% ноне / медиа / рамдиск

Стварање динамичког рамдиска путем тмпфс-а фиксне величине од 200М физичке меморије је следеће:

# мкдир / медиа / рамдиск
# моунт -т тмпфс -о сизе = 200М ноне / медиа / рамдиск

Треће, обе методе се на различит начин баве заменом. У случају да систем достигне ограничење меморије рамдиска на основу тмпфс, подаци са рамдиска се замењују. То онемогућава идеју брзог приступа. С друге стране, оперативни систем даје приоритет и садржају и траженим меморијским страницама рамдиска заснованог на рамфс-у, задржава то у меморији и замењује преостале меморијске странице на диск.

У горњим примерима које смо користили / медиа / рамдиск као тачка монтирања. Што се тиче редовних података, једини део система датотека Линук који се препоручује за употребу на РАМ диску је / тмп. Овај директоријум чува само привремене податке који не постоје. Стварање трајног рамдиска који чува систем датотека / тмп захтева додатни унос у датотеку / етц / фстаб како следи (на основу рамфова):

рамфс / тмп рамфс подразумевано 0 0

Следећи пут када покренете свој Линук систем, рамдиск ће бити аутоматски омогућен.

Коришћење зРАМ-а

зРАМ значи Виртуал Свап Цомпрессед у РАМ-у и ствара компримовани блок уређај директно у физичкој меморији. зРАМ ступа у акцију (употребу) чим на систему више нема доступних страница физичке меморије. Затим, Линук кернел покушава да сачува странице као компримоване податке на зРАМ уређају.

Тренутно не постоји пакет доступан за Дебиан ГНУ / Линук, већ за Убунту. Назван је зрам-цонфиг. Инсталирајте пакет и подесите зРАМ уређај једноставним покретањем одговарајуће системд услуге на следећи начин:

# системцтрл старт зрам-цонфиг

Као што је дато из резултата свапон -с, уређај је активан као додатна Свап партиција. Аутоматски се за зРАМ додељује величина 50% меморије (види слику 1). Тренутно не постоји начин да се наведе другачија вредност за зРАМ која ће се доделити.

Да бисте видели више детаља о компримованој свап партицији, користите наредбу зрамцтл. Слика 2 приказује назив уређаја, алгоритам компресије (ЛЗО), величину свап партиције, величину података на диску и њену компримовану величину, као и број токова компресије (подразумевана вредност: 1).

Стратегија употребе

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

Користите програме који захтевају мање меморије

На крају, али не најмање важно, коришћење меморије зависи од самих програма. Већина њих је повезана са подразумеваном Ц библиотеком (стандардни ЛибЦ). Као програмер, да бисте минимализовали бинарни код, размислите о томе да користите алтернативу и уместо тога много мању библиотеку Ц. На пример, постоје диетлибц [1], уЦлибц [2] и мусл либ Ц [3]. Веб локација програмера мусл либ Ц садржи опсежно поређење [4] у вези са овим библиотекама у погледу најмањег могућег статичког Ц програма, поређење карактеристика као и одговарајућа окружења за изградњу и подржане хардверске архитектуре.

Као корисник можда нећете морати да компајлирате своје програме. Размислите о тражењу мањих програма и различитих оквира који захтевају мање ресурса. Као пример можете користити КСФЦЕ Десктоп Енвиронмент уместо КДЕ или ГНОМЕ.

Закључак

Постоји подоста опција за промену употребе меморије на боље. То се креће од замене до компресије засноване на зРАМ-у, као и постављање диска или одабир другог оквира.

Везе и референце

Линук Мемори Сериес Сериес

Захвалнице

Аутор жели да се захвали Акел Бецкерту и Геролду Руппрецхту на подршци током припреме овог чланка.

Топ 5 карата за хватање игара
Сви смо видели и волели стримовање играња на ИоуТубе-у. ПевДиеПие, Јакесептицие и Маркиплиер само су неки од најбољих играча који су зарадили милионе ...
Како развити игру на Линуку
Пре деценију, није много корисника Линука предвидело да ће њихов омиљени оперативни систем једног дана бити популарна платформа за играње комерцијални...
Портови комерцијалних игара отвореног кода
Бесплатне рекреације покретачких игара са отвореним кодом и више платформи могу се користити за играње старих, као и неких прилично недавних наслова и...