URL: https://www.opennet.ru/cgi-bin/openforum/vsluhboard.cgi
Форум: vsluhforumID1
Нить номер: 87847
[ Назад ]

Исходное сообщение
"Уменьшение расхода ОЗУ FreeBSD 7.2"

Отправлено Alex123 , 14-Янв-10 04:50 
Народ, у меня старый комп, на который я повесил Фрю7, всё бы ничего, но потребовалось на него повесить ещё пару прог, проблема в том, что на компе всего 128Мб ОЗУ, и почти вся она используется ОСью, что, очевидно не есть правильно, конечно, можно на всё забить, т.к. есть свап, который всё простит, но всёж хотелось бы разобраться, ибо есть же роутеры на ФриВРТ (она основана на ФриБСД), так вот у них 8-16Мб ОЗУ и они обладают большим функционалом, нежели мой комп :(. Самое обидное -- я честно собирал кастомное ядро, закоментировав всё не нужное, не ставил Х-ов, не ставил ненужных прог (кроме мс, но это святое :) ) даже баш не стоит, сижу на цсш, а эта гадасть жрёт всю память, и утечек нет, что совсем уж не понятно :(

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

--
С уважением,
Alex123.


Содержание

Сообщения в этом обсуждении
"Уменьшение расхода ОЗУ FreeBSD 7.2"
Отправлено Вася Тупицын , 14-Янв-10 05:02 
Это нормально. Ядро юзает свободную память под кэши всякие, память будет освобождаться по требованию како-либо процесса, если это возможно. Редко используемые страницы будут сваливаться в своп. Это как бэ типа все ускоряет работу ОС. Таковы особенности работы с памятью.

Удачи тебе, борец за свободную память. :-)


"Уменьшение расхода ОЗУ FreeBSD 7.2"
Отправлено rakis , 14-Янв-10 11:59 
>Конечно, наверняка куча оптимизаторов, но хотелось бы сделать всё ручками, народ, куда

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


"Уменьшение расхода ОЗУ FreeBSD 7.2"
Отправлено Alex123 , 14-Янв-10 14:17 
>>Конечно, наверняка куча оптимизаторов, но хотелось бы сделать всё ручками, народ, куда
>
>единственный реальный оптимизитор - пересборка мира
>убрать их системы не используемые компоненты, из ядра большинство отсутствующего железа.

Ядро почищено основательно, тоже подумывал о пересборки мира, но как его оптимизировать и где? Как-то пересобирал из серцов, но результата не принесло :(


"Уменьшение расхода ОЗУ FreeBSD 7.2"
Отправлено Сергей , 14-Янв-10 14:55 
Ну и что из того что забирает всю память, оно при этом тормозит или же нет, на тему пересборки, пересобирайте, но под конкретный процессор....

"Уменьшение расхода ОЗУ FreeBSD 7.2"
Отправлено Leo , 14-Янв-10 12:27 
Покажите kldstat и ps ax

"Уменьшение расхода ОЗУ FreeBSD 7.2"
Отправлено Alex123 , 14-Янв-10 14:14 
>Покажите kldstat и ps ax


# kldstat
Id Refs Address    Size     Name
1    4 0xc0400000 4968f0   kernel
2    1 0xc0897000 6da4     apm.ko
3    1 0xc089e000 2d40     alias_ftp.ko



# ps ax
  PID  TT  STAT      TIME COMMAND
    0  ??  DLs    0:01,03 [swapper]
    1  ??  ILs    0:00,07 /sbin/init --
    2  ??  DL     0:28,76 [g_event]
    3  ??  DL     0:41,30 [g_up]
    4  ??  DL     0:53,75 [g_down]
    5  ??  DL     0:00,00 [kqueue taskq]
    6  ??  DL     0:00,00 [acpi_task_0]
    7  ??  DL     0:00,00 [acpi_task_1]
    8  ??  DL     0:00,00 [acpi_task_2]
    9  ??  DL     0:00,00 [xpt_thrd]
   10  ??  DL     0:00,00 [audit]
   11  ??  RL   6963:12,52 [idle]
   12  ??  WL     0:00,00 [swi1: net]
   13  ??  WL     6:00,95 [swi4: clock sio]
   14  ??  WL     0:00,00 [swi3: vm]
   15  ??  DL     0:52,93 [yarrow]
   16  ??  WL     0:00,00 [swi6: Giant taskq]
   17  ??  WL     0:00,24 [swi6: task queue]
   18  ??  WL     0:00,00 [swi2: cambio]
   19  ??  WL     0:00,00 [swi5: +]
   20  ??  DL     0:00,00 [thread taskq]
   21  ??  WL     0:00,00 [irq14: ata0]
   22  ??  WL     0:12,45 [irq15: ata1]
   23  ??  WL     3:10,30 [irq11: pcm0 rl2+]
   24  ??  DL     0:00,05 [usb0]
   25  ??  DL     0:00,00 [usbtask-hc]
   26  ??  DL     0:00,00 [usbtask-dr]
   27  ??  WL     1:52,50 [irq9: rl1 intsmb0]
   28  ??  WL     0:14,60 [irq10: rl0]
   29  ??  WL     0:00,00 [irq1: atkbd0]
   30  ??  DL     0:03,04 [fdc0]
   31  ??  WL     0:00,00 [irq7: ppbus0 ppc0]
   32  ??  WL     0:00,00 [swi0: sio]
   33  ??  DL     0:00,97 [pagedaemon]
   34  ??  DL     0:00,00 [vmdaemon]
   35  ??  DL     0:00,01 [pagezero]
   36  ??  DL     0:03,08 [bufdaemon]
   37  ??  DL     0:06,04 [vnlru]
   38  ??  DL     2:31,60 [syncer]
   39  ??  DL     0:11,99 [softdepflush]
   40  ??  DL     0:28,03 [schedcpu]
  575  ??  Is     0:00,01 /sbin/devd
  671  ??  Is     0:06,67 /usr/sbin/syslogd -s
  786  ??  Is     0:00,02 /usr/sbin/sshd
  792  ??  Ss     0:17,14 sendmail: accepting connections (sendmail)
  796  ??  Is     0:00,42 sendmail: Queue runner@00:30:00 for /var/spool/client
  802  ??  Ss     0:03,32 /usr/sbin/cron -s
  816  ??  I      0:00,01 /usr/local/sbin/kav4proxy-kavicapserver -C /usr/local
  846  ??  Is     0:00,00 /usr/sbin/inetd -wW -C 60
  867  ??  S      0:00,84 /usr/libexec/getty Pc ttyv0
  868  ??  S      0:00,86 /usr/libexec/getty Pc ttyv1
  869  ??  S      0:00,86 /usr/libexec/getty Pc ttyv2
  870  ??  S      0:00,84 /usr/libexec/getty Pc ttyv3
  871  ??  S      0:00,85 /usr/libexec/getty Pc ttyv4
  872  ??  S      0:01,33 /usr/libexec/getty Pc ttyv5
  873  ??  S      0:00,85 /usr/libexec/getty Pc ttyv6
  874  ??  S      0:00,84 /usr/libexec/getty Pc ttyv7
15867  ??  Is     0:00,00 dhclient: rl0 (dhclient)
17098  ??  Ss     0:00,15 sshd: root@ttyp0 (sshd)
17102  p0  Ss     0:00,11 -csh (csh)
17114  p0  R+     0:00,01 ps ax
15843  p1- I      0:00,01 dhclient: rl0 [priv] (dhclient)


"Уменьшение расхода ОЗУ FreeBSD 7.2"
Отправлено Leo , 14-Янв-10 16:14 
># kldstat
>Id Refs Address    Size     Name
>
> 1    4 0xc0400000 4968f0   kernel

Ядро под 5М - много (20-25%) лишнего (звук, COM-LPT, флоп, файловые системы, USB)
Можно отталкиваться от

options     SCHED_ULE        # ULE scheduler
options     PREEMPTION        # Enable kernel thread preemption
options     INET            # InterNETworking
options     FFS            # Berkeley Fast Filesystem
options     PROCFS            # Process filesystem (requires PSEUDOFS)
options     PSEUDOFS        # Pseudo-filesystem framework
options     SYSVSHM            # SYSV-style shared memory
options     SYSVMSG            # SYSV-style message queues
options     SYSVSEM            # SYSV-style semaphores
options     _KPOSIX_PRIORITY_SCHEDULING # POSIX P1003_1B real-time extensions
options     KBD_INSTALL_CDEV    # install a CDEV entry in /dev

device        acpi
device        pci

device        ata
device        atadisk        # ATA disk drives
options     ATA_STATIC_ID    # Static device numbering

device        atkbdc        # AT keyboard controller
device        atkbd        # AT keyboard
device        psm        # PS/2 mouse
device        vga        # VGA video card driver
device        sc

device        loop        # Network loopback
device        random        # Entropy device
device        ether        # Ethernet support
device        pty        # Pseudo-ttys (telnet etc)
device        bpf        # Berkeley packet filter

device        miibus
device        rl

>sendmail: accepting connections (sendmail)
>sendmail: Queue runner@00:30:00 for /var/spool/client

Отключаемо в rc.conf

>/usr/sbin/inetd -wW -C 60

Тоже не нужно

>0:00,84 /usr/libexec/getty Pc ttyv0
>  868  ??  S      
>0:00,86 /usr/libexec/getty Pc ttyv1

Пары консолей д.б. достаточно - в /etc/ttys для всех остальных ttyv2-7 ставим off

Ещё мир можно пересобрать без поддержки ipv6

Но всё это - мелочи, т.к.
>0:00,01 /usr/local/sbin/kav4proxy-kavicapserver -C /usr/local

вот кто ест память.


"Уменьшение расхода ОЗУ FreeBSD 7.2"
Отправлено Alex123 , 15-Янв-10 02:01 

>Можно отталкиваться от
>
>options  SCHED_ULE  # ULE scheduler  

и так нет

>options  PREEMPTION  # Enable kernel thread preemption

Ок
>options  INET   # InterNETworking

А это инет и ипфв не отрубит?
>options  FFS   # Berkeley Fast Filesystem

Ок
>options  PROCFS   # Process filesystem (requires PSEUDOFS)

отрублена
>options  PSEUDOFS  # Pseudo-filesystem framework

отрублена

>options  SYSVSHM   # SYSV-style shared memory
>options  SYSVMSG   # SYSV-style message queues
>options  SYSVSEM   # SYSV-style semaphores

все три отрубленны

>options  _KPOSIX_PRIORITY_SCHEDULING # POSIX P1003_1B real-time extensions

Для п2 безопасно?
>options  KBD_INSTALL_CDEV # install a CDEV entry in /dev

Ок


>device  acpi

Отрублен
>device  pci

у мну все сетевухи пси, безопасно?

>device  ata

Это же за хард отвечает?
>device  atadisk  # ATA disk drives

Была идея парковать головки харда при простое...

>options  ATA_STATIC_ID # Static device numbering

ок, а это безопасно?
>device  atkbdc  # AT keyboard controller
>device  atkbd  # AT keyboard
>device  psm  # PS/2 mouse
>device  vga  # VGA video card driver

неужели мышь и клава много жрёт?
>device  sc

Ок
>device  loop  # Network loopback

А сквид работоспособность не утратит?
>device  random  # Entropy device

использую ВПН/пппое, пахать без оного будут?
>device  ether  # Ethernet support

а сеть не накроется?
>device  pty  # Pseudo-ttys (telnet etc)

юзаю ссх, будет пахать?
>device  bpf  # Berkeley packet filter

Он для дхцп клиента кажись нужен...
>
>device  miibus
>device  rl

У меня все сетевухи реалтеки, будут пахать без этих двух?

>
>>sendmail: accepting connections (sendmail)
>>sendmail: Queue runner@00:30:00 for /var/spool/client

Ок
>Отключаемо в rc.conf
>
>>/usr/sbin/inetd -wW -C 60
>
>Тоже не нужно

?? точно?
>>0:00,84 /usr/libexec/getty Pc ttyv0
>>  868  ??  S      
>>0:00,86 /usr/libexec/getty Pc ttyv1
>
>Пары консолей д.б. достаточно - в /etc/ttys для всех остальных ttyv2-7 ставим
>off

Ок
>Ещё мир можно пересобрать без поддержки ipv6

Ок тоже подумывал, только надо найти ещё какие-нить оптимизации, типа j4 и т.д.
>Но всё это - мелочи, т.к.
>>0:00,01 /usr/local/sbin/kav4proxy-kavicapserver -C /usr/local
>
>вот кто ест память.

Он не загружен -- в  топ не отображается.... да и жрёт всего около 20Мб...


"Уменьшение расхода ОЗУ FreeBSD 7.2"
Отправлено Deac , 15-Янв-10 02:23 
Тебе написали что нужно ОСТАВИТЬ!

"Уменьшение расхода ОЗУ FreeBSD 7.2"
Отправлено Alex123 , 15-Янв-10 03:03 
>Тебе написали что нужно ОСТАВИТЬ!

Упс, но у мну и так без половины того работает....
Ну юсб и звук нужны....

а, забыл написать в ядре торчит фаерволл ипфв, может по этому оно больше?


"Уменьшение расхода ОЗУ FreeBSD 7.2"
Отправлено Alex123 , 15-Янв-10 02:34 

>Он не загружен -- в  топ не отображается.... да и жрёт
>всего около 20Мб...

а точнее:
USER     PID %CPU %MEM   VSZ   RSS  TT  STAT STARTED      TIME COMMAND
kluser   816  0,0  1,1  4208  1344  ??  I    сб21      0:00,01 /usr/local/sbin/kav4pr т.е 5.5 Мб...

А где всё остальное?

21 processes:  1 running, 20 sleeping
CPU:  0.0% user,  0.0% nice,  0.0% system,  0.4% interrupt, 99.6% idle
Mem: 14M Active, 69M Inact, 23M Wired, 4748K Cache, 22M Buf, 6064K Free
Swap: 128M Total, 128M Free

от куда взялись эти 122Мб?


"Уменьшение расхода ОЗУ FreeBSD 7.2"
Отправлено anonymous , 15-Янв-10 23:04 
>21 processes:  1 running, 20 sleeping
>CPU:  0.0% user,  0.0% nice,  0.0% system,  0.4%
>interrupt, 99.6% idle
>Mem: 14M Active, 69M Inact, 23M Wired, 4748K Cache, 22M Buf, 6064K Free
>Swap: 128M Total, 128M Free
>
>от куда взялись эти 122Мб?

еще раз и медленно:

вы пока не понимаете, как FreeBSD управляет памятью.  зачем судорожно пытаться оптимизировать то, в чем вы еще не разбираетесь?

можно сказать, что у вас свободно 128 - 14 (active) - 23 (wired) = 91 MB.  потому что если процессу будет не хватать тех 6064K, что вообще никак не используются, ядро начнет заимствовать память, помеченную как inact, cache, buf.


"Уменьшение расхода ОЗУ FreeBSD 7.2"
Отправлено Alex123 , 16-Янв-10 00:52 
>можно сказать, что у вас свободно 128 - 14 (active) - 23
>(wired) = 91 MB.  потому что если процессу будет не
>хватать тех 6064K, что вообще никак не используются, ядро начнет заимствовать
>память, помеченную как inact, cache, buf.

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


"Уменьшение расхода ОЗУ FreeBSD 7.2"
Отправлено anonymous , 16-Янв-10 01:35 
>>можно сказать, что у вас свободно 128 - 14 (active) - 23
>>(wired) = 91 MB.  потому что если процессу будет не
>>хватать тех 6064K, что вообще никак не используются, ядро начнет заимствовать
>>память, помеченную как inact, cache, buf.
>
>Ну а куда будет записываться то что в неактивной? Или там пусто?
>
>Если в свап, то хотелось бы избежать -- собираюсь от него избавится,
>для возможности остановки харда в связи с неиспользованием...

никуда, она будет просто освобождаться, потому что уже "чистая" (clean).  в свап будут попадать "грязные" (dirty) страницы памяти -- то есть те, содержимое которых изменилось с момента их выделения процессу.