Предыдущая тема :: Следующая тема |
Автор |
Сообщение |
Hunger Гость
|
Добавлено: Ср Мар 12 2003 10:54 Заголовок сообщения: Дисковый буфер |
|
|
Здравствуйте, товарищи!
У меня есть одна линуксная проблема,подмогите пожалуйста, очень нужно!!
Дело в том, что линукс, как известно, очень любит при каждом чтении с диска, прочтенную информацию помещать в субж (и даже при записи тоже сначала туда), отчего этот субж непомерно растет, что понятно отриательно сказывается на свободню память.
Так вот вопрос: можно ли как нить порулить этим буфером, а чего то у меня памяти маловато становится
Большое спасибо! |
|
Вернуться к началу |
|
|
and3008
Зарегистрирован: 12.10.2001 Сообщения: 14893 Откуда: Н.Новгород
|
Добавлено: Ср Мар 12 2003 12:57 Заголовок сообщения: Re: Дисковый буфер |
|
|
Забей на это дело. Дисковые буферы высвобождаются по первому требованию. Т.е. как только нужно ОЗУ, то объем дисковых буферов сразу же уменьшается.
Если волнует рост swap-файла, значит имеет много малоиспользуемого кода (софта запущено много, то реально он не выполняется). Вот он в swap и утекает. |
|
Вернуться к началу |
|
|
Dmitry.Karpov http://prof Гость
|
Добавлено: Ср Мар 12 2003 16:06 Заголовок сообщения: Код тоже освобождает место по первому требованию |
|
|
1) Неиспользуемый в данное время код м.б. вытеснет из памяти точно так же, как и данные.
2) Код (если он не самомодифицируемый) никогда не ложится в swap (ни в swap-раздел, ни в swap-файл). Код подкачивается из исполняемого файла и никогда никуда не пишется, ибо не меняется. |
|
Вернуться к началу |
|
|
ilyasov Гость
|
Добавлено: Чт Мар 13 2003 11:36 Заголовок сообщения: Из файла читаются те сегменты, которые имеют признак только чтение, независимо от типа -код или данные (-) |
|
|
- |
|
Вернуться к началу |
|
|
Dmitry.Karpov http://prof Гость
|
Добавлено: Чт Мар 13 2003 12:53 Заголовок сообщения: Все именно так, и даже более того |
|
|
Итак, допустим, у меня в программе есть код, есть массив данных, описанный как const и есть обычный массив данных (оба массива инициализированы). Код обычно запрещен для изменения, поэтому он всегда будет подкачиваться из запускаемого файла. Const-массив тоже будет размещен в страницах, запрещенных для изменения, и тоже будет подкачиваться из запускаемого файла. А массив, доступный для изменения, будет размещен в отдельных страницах, изначально помеченных "только для чтения", и пока эти страницы не меняются, они будут подкачиваться из запускаемого файла. А когда программа захочет изменить элементы этого массива, произойдет нарушение защиты; при этом операционка пометит данную страницу как доступную для изменения и назначит ей в будущем свопиться в swap-раздел/файл. |
|
Вернуться к началу |
|
|
|