Управление буфером NFS

Модераторы: Trinity admin`s, Free-lance moderator`s

Ответить
init01
Advanced member
Сообщения: 124
Зарегистрирован: 16 мар 2005, 16:39
Откуда: Москва

Управление буфером NFS

Сообщение init01 » 10 июн 2010, 13:06

Народ, подскажите как управлять буфером NFS ?
Я так понял, что по умолчанию он захватывает по возможности всю оперативную память, а так как у нас идёт работа с сейсмическими данными, то возможности у него есть и он действительно захватывает всю оперативную память.
Можно ли каким-то параметром ограничить в процентах или конкретным размером максимально допустимый объём для одного потока или процесса?
Я, конечно, почитал про sb_max и sockthresh, но всё это мне чудится немного из другой оперы или я чего-то недопонял.

И ещё: Есть какие-то формулы или таблицы как расчитать оптимальное количество потоков NFS в зависимости от объёма памяти и количества ядер?

Аватара пользователя
setar
Site Admin
Site Admin
Сообщения: 1990
Зарегистрирован: 22 авг 2002, 12:03
Откуда: St. Petersburg

Re: Управление буфером NFS

Сообщение setar » 10 июн 2010, 13:22

я может не врубаюсь в суть проблемы но первый раз такое вообще слышу
какая разница с какими данными идет работа по NFS
чем вам мешает кеш?
почитайте как линукс работает с памятью, а после этого порадуйтесь что у вас вся свободная память занята кешем.
t.me: @RoboforumSetar ; st@3nt.ru

init01
Advanced member
Сообщения: 124
Зарегистрирован: 16 мар 2005, 16:39
Откуда: Москва

Re: Управление буфером NFS

Сообщение init01 » 10 июн 2010, 13:54

Я наоборот этому не рад. Мне надо ограничить память, которую может съесть NFS на сервере.

Аватара пользователя
setar
Site Admin
Site Admin
Сообщения: 1990
Зарегистрирован: 22 авг 2002, 12:03
Откуда: St. Petersburg

Re: Управление буфером NFS

Сообщение setar » 10 июн 2010, 14:36

:) я пишу в пустоту ?
почитайте КАК линукс использует память
кэш это не память которая "съедена"
она освобождается автоматически для процессов по мере надобности
t.me: @RoboforumSetar ; st@3nt.ru

init01
Advanced member
Сообщения: 124
Зарегистрирован: 16 мар 2005, 16:39
Откуда: Москва

Re: Управление буфером NFS

Сообщение init01 » 10 июн 2010, 15:05

Освежил в памяти работу памяти, ибо когда-то проходил в институте, но никогда оно не пригождалось.
Во всех статьях расписана постраничная работа памяти, с формулами и всё такое, но я не программист, к тому же в данной ситуации считаю такие тонкости излишними.

В общем вкратце происходит вот такое дело:
Клиент заходит удалённо на сервер и запускает нужную ему программу, которая работает с данными по NFS. Эти данные съедают всю память, потому что их много. Тут подключается ещё один клиент и запускает свой экземпляр программы со своими данными, начинает отжирать память у первого и начинается какой-то жуткий свопинг. А ещё могут быть клиенты, которым NFS и не нужен - тут уже надо смотреть приоритеты кто там у кого будет отбирать, но это и не так важно.

В общем я надеялся, что может быть в NFS есть какой-то параметр позволяющий ограничить каждому клиенту или потоку размер занимаемой памяти. И тогда NFS для каждого клиента изначально будет выстраивать работу по другому алгоритму и никаких своппингов не будет.

Вот сижу читаю и про память и про NFS и пока не вижу не выхода ни входа.

init01
Advanced member
Сообщения: 124
Зарегистрирован: 16 мар 2005, 16:39
Откуда: Москва

Re: Управление буфером NFS

Сообщение init01 » 07 июл 2010, 12:23

Ну пика-то ждать долго можно. Так что вот примерный top:

top - 11:47:57 up 8 days, 47 min, 19 users, load average: 11.73, 11.65, 10.58
Tasks: 704 total, 6 running, 694 sleeping, 0 stopped, 4 zombie
Cpu(s): 3.1%us, 2.4%sy, 0.5%ni, 71.0%id, 22.5%wa, 0.1%hi, 0.4%si, 0.0%st
Mem: 132168380k total, 128213292k used, 3955088k free, 186480k buffers
Swap: 76758552k total, 2094904k used, 74663648k free, 117790828k cached

PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
18721 root 15 0 0 0 0 S 11 0.0 656:50.71 ptlrpcd
2280 prouser 19 1 138m 108m 5024 R 27 0.1 204:52.31 exec.exe
17605 root 15 0 0 0 0 D 3 0.0 78:23.36 nfsd
17603 root 15 0 0 0 0 R 4 0.0 68:11.16 nfsd
17600 root 15 0 0 0 0 D 3 0.0 65:55.92 nfsd
17598 root 15 0 0 0 0 D 4 0.0 65:35.68 nfsd
17602 root 15 0 0 0 0 R 3 0.0 60:59.74 nfsd
17601 root 15 0 0 0 0 D 3 0.0 57:52.92 nfsd
17604 root 15 0 0 0 0 R 4 0.0 53:23.38 nfsd
17599 root 15 0 0 0 0 D 4 0.0 49:04.93 nfsd
32744 prouser 17 1 197m 171m 5004 D 1 0.1 44:44.54 exec.exe
18956 root 15 0 0 0 0 S 0 0.0 41:08.30 ldlm_poold
17856 root 15 0 10984 992 724 S 0 0.0 28:04.47 pbs_mom
13991 nobody 15 0 132m 2604 1644 S 2 0.0 26:52.20 smbd
1850 root 11 -5 0 0 0 S 0 0.0 22:27.00 kswapd0
1857 root 10 -5 0 0 0 S 0 0.0 21:08.25 kswapd7
1855 root 10 -5 0 0 0 S 0 0.0 17:00.80 kswapd5
1852 root 10 -5 0 0 0 S 0 0.0 16:26.01 kswapd2
1856 root 10 -5 0 0 0 S 0 0.0 15:46.73 kswapd6
1851 root 10 -5 0 0 0 S 0 0.0 15:39.05 kswapd1
1853 root 10 -5 0 0 0 S 0 0.0 15:20.70 kswapd3
1854 root 10 -5 0 0 0 S 0 0.0 15:15.18 kswapd4
17140 root 10 -5 0 0 0 S 1 0.0 11:30.21 rpciod/4
1849 root 15 0 0 0 0 S 0 0.0 10:51.97 pdflush
12148 prouser 19 1 32912 6008 4764 D 20 0.0 8:51.60 exec.exe
18580 root 15 0 0 0 0 S 0 0.0 4:56.11 kiblnd_sd_00
18611 root 15 0 0 0 0 S 0 0.0 4:56.05 kiblnd_sd_31
18588 root 15 0 0 0 0 S 0 0.0 4:55.09 kiblnd_sd_08
18590 root 15 0 0 0 0 S 0 0.0 4:55.09 kiblnd_sd_10
18594 root 15 0 0 0 0 S 0 0.0 4:55.02 kiblnd_sd_14
18581 root 15 0 0 0 0 S 0 0.0 4:54.92 kiblnd_sd_01
18606 root 15 0 0 0 0 S 0 0.0 4:54.80 kiblnd_sd_26
18607 root 15 0 0 0 0 S 0 0.0 4:54.76 kiblnd_sd_27

Вот о чём речь, что с каждой строкой nfsd появляется новая строка kswapd.
Они конечно всё показывают по нулям (на данный момент), но всё это очень странно.
И когда их действительно много, то тормоза заметны наглядно.

А вот в таком виде (Shift+M) их вообще не видно:

top - 11:59:49 up 8 days, 59 min, 19 users, load average: 15.60, 13.48, 12.16
Tasks: 751 total, 5 running, 732 sleeping, 0 stopped, 14 zombie
Cpu(s): 0.0%us, 10.9%sy, 0.9%ni, 79.1%id, 7.8%wa, 0.0%hi, 1.3%si, 0.0%st
Mem: 132168380k total, 132049116k used, 119264k free, 185288k buffers
Swap: 76758552k total, 2094904k used, 74663648k free, 110096688k cached

PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
14050 prouser 15 0 12.7g 12g 1860 S 57 9.6 3:47.08 sdatasrv_server
32744 prouser 16 1 197m 171m 5004 D 1 0.1 44:49.05 exec.exe
14526 prouser 17 1 148m 130m 129m S 0 0.1 0:41.24 minput.exe
14842 prouser 17 1 148m 130m 129m S 0 0.1 0:47.70 minput.exe
14855 prouser 17 1 148m 130m 129m S 0 0.1 0:45.20 minput.exe
14881 prouser 17 1 148m 130m 129m S 0 0.1 0:40.34 minput.exe
14898 prouser 17 1 148m 130m 129m S 0 0.1 0:38.66 minput.exe
14868 prouser 17 1 148m 130m 129m S 0 0.1 0:45.39 minput.exe
2280 prouser 19 1 138m 108m 5024 D 3 0.1 206:30.77 exec.exe
14860 prouser 18 1 84336 66m 65m S 0 0.1 0:00.13 moutput.exe
14886 prouser 18 1 84336 66m 65m S 0 0.1 0:00.11 moutput.exe
14903 prouser 18 1 84336 66m 65m S 0 0.1 0:00.13 moutput.exe
14847 prouser 18 1 84332 66m 65m S 0 0.1 0:00.11 moutput.exe
14873 prouser 18 1 84332 66m 65m S 0 0.1 0:00.11 moutput.exe
14892 prouser 18 1 84336 66m 65m S 0 0.1 0:00.13 moutput.exe
19144 gdm 16 0 216m 16m 7100 S 0 0.0 0:13.54 gdmgreeter
14048 prouser 15 0 27752 10m 4708 S 0 0.0 0:44.91 promax
9232 prouser 15 0 25928 9216 4688 S 0 0.0 0:06.87 promax
1663 prouser 15 0 24516 7788 4676 S 0 0.0 0:03.38 promax
17398 root 18 0 151m 6636 928 S 0 0.0 0:01.61 python
19106 root 15 0 90476 6296 4308 S 0 0.0 0:08.74 Xorg
12148 prouser 19 1 32912 6008 4764 R 75 0.0 11:53.32 exec.exe
12151 prouser 18 1 23748 5792 4952 S 0 0.0 0:00.09 traceDisplay.ex
14523 prouser 16 1 34732 5484 4472 S 0 0.0 0:29.22 exec.exe
14839 prouser 16 1 34736 5472 4460 S 0 0.0 0:34.37 exec.exe
14852 prouser 17 1 34732 5472 4460 S 0 0.0 0:31.59 exec.exe
14865 prouser 16 1 34732 5472 4460 S 0 0.0 0:32.00 exec.exe
14878 prouser 17 1 34736 5472 4460 S 0 0.0 0:28.20 exec.exe
14895 prouser 16 1 34732 5472 4460 S 0 0.0 0:27.38 exec.exe
1547 prouser 17 0 22672 5072 3880 S 0 0.0 0:00.29 promax
17459 ntp 15 0 23328 4964 3848 S 0 0.0 0:05.06 ntpd
18384 haldaemo 15 0 31448 4536 1552 S 0 0.0 0:17.24 hald
19105 root 16 0 159m 3316 2708 S 0 0.0 0:00.02 gdm-rh-security

Настройки kswapd не смог посмотреть, ибо не нашёл его в /proc/sys/vm
а swappiness 60.

Ответить

Вернуться в «Кластеры, параллельные файловые системы»

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и 3 гостя