[Sarlug] Swap

Paul P Komkoff Jr i at stingr.net
Thu May 1 14:46:19 MSD 2003


-----BEGIN PGP SIGNED MESSAGE-----
Hash: RIPEMD160

Replying to Amodeus:
> Программа FemLab и она кажется/ использует API  ОСи для работы с 
> памятью и файлом подкачки...

Работают с памятью и с файлом подкачки минуя ОС только "хакеры" и полные
отморозки.

> Эта программа использует библиотеки матлаба для рассчётов методом 
> конечных элементов. Каждый элемент в памяти занимает дохрена 
> места и соответственно ей надо достаточно много места в памяти 
> для работы.
> А кстати, я задал вполне кокретный вопрос:
> Сможет ли ЛИНУКС работать с таким свопом(12 гигов)?

Линукс, не линукс
Ты в курсе, почему винда обычная не даёт столько памяти под своп отвести?

Потому что в общем случае для работы с такими объёмами памяти нужно
использовать нетривиальные методы

поясняю
Адресное пространство процесса на i386 равно 4 гига. Из этого какая-то часть
отводится под ведро (ну, при желании можно сделать 0.5/3.5, хотя обычно
делают что-то типа 2/2 - винда кстати так делает).
Процесс НЕ МОЖЕТ одним махом сказать malloc мне 12 гигов, пожалуйста.
Работать с таким объёмом памяти можно или через anonymous mappings, или
через shmfs.

Далее. 12 гигов, это 3145728 страниц. На каждую страницу выделяется page
table entry, или pte. Как минимум. То есть, мы имеем минимум 3145728 * (4 +
4 + 4) = 37748736 метров на каждый процесс, который мапит себе эти страницы.

Достаточно?
Понятно, почему винда со спичками играться не даёт? :)

P.S. А вообще читайте маны, они рулёз.
     http://www.csn.ul.ie/~mel/projects/vm/guide/html/understand/
     Understanding The Linux Virtual Memory Manager

- -- 
Paul P 'Stingray' Komkoff Jr /// (icq)23200764 /// (http)stingr.net
 This message represents the official view of the voices in my head
-----BEGIN PGP SIGNATURE-----

iD8DBQE+sOzoyMW8naS07KQRA04YAJwJ3yLgZKmAJgz/WIKt8YXeLfEP9gCgjpdG
w5PmzewZlXl1d6oLA6zalCg=
=qzRX
-----END PGP SIGNATURE-----



More information about the Sarlug mailing list