# [solved]Проблема с утечками оперативной памяти.

## NerZhul

Здравствуйте. 

После установки системы с использованием КЕД 4.2.4 система начала постепенно есть память до того момента, пока не съест ее всю. Дальше останавливается, на использование свопа не переходит. При этом запущено к примеру Kopete, Krusader, Opera, SMplayer. 

Оперативной памяти у меня 2 Гб. 

Кто подскажет каким образом можно промониторить что именно ест память и пофиксить?

Заранее благодарен.

С ув. Алексей.Last edited by NerZhul on Wed Jun 17, 2009 6:43 am; edited 1 time in total

----------

## ba

а как смотришь что память съедена?

----------

## NerZhul

Здравствуйте. 

Смотрю по-разному. 

Смотрю - top-ом, виджет у меня на рабочем столе имеется. 

free -m выдает к примеру следующее:

```

             total       used       free     shared    buffers     cached

Mem:          2000       1791        209          0         93        858

-/+ buffers/cache:        840       1160

Swap:         2110          4       2105

```

а, к примеру, комманда 

ps xa -o rss,command | sort -nr | head -n 40

выдает 

```

213600 /usr/bin/X -br -novtswitch -quiet -nolisten tcp :0 vt7 -auth /var/run/xauth/A:0-A8S5n0                                                                                   

74496 /opt/opera/lib/opera/10.00/opera                                                  

49436 /usr/kde/4.2/bin/plasma                                                           

46712 kopete -session 10b6dade5a000124483803500000104480032_1245170871_255743           

38740 /usr/kde/4.2/bin/knotify4                                                         

33804 /usr/kde/4.2/bin/krunner                                                          

25676 /usr/kde/4.2/bin/konsole

22092 knotes -session 10b6dade5a000124509003000000030460016_1245170871_255933

22048 /usr/bin/audacious2

21284 superkaramba -session 10b6dade5a000124469654700000030670017_1245170871_255503 -name Qt-subapplication

20496 kwin -session 10b6dade5a000124316369900000046820000_1245170871_320654

19068 yakuake -session 10b6dade5a000124368364900000158800022_1245170871_255261 -name Qt-subapplication

17068 kded4

16816 /usr/kde/4.2/bin/nepomukservicestub nepomukstorage

15524 /usr/kde/4.2/bin/klipper

14432 kmix -session 10b6dade5a000124316371100000046820015_1245170871_255072

13612 kxkb

13532 /opt/opera/lib/opera/10.00//operapluginwrapper-native 38 41 /opt/netscape/plugins/libflashplayer.so

13236 /usr/kde/4.2/bin/korgac -icon korgac

13100 ksmserver

12064 /opt/opera/lib/opera/10.00//operapluginwrapper-native 40 50 /opt/netscape/plugins/libflashplayer.so

11680 /usr/kde/4.2/bin/nepomukserver

11380 /opt/opera/lib/opera/10.00//operapluginwrapper-native 48 51 /opt/netscape/plugins/libflashplayer.so

11380 kded4

11248 /usr/kde/4.2/bin/nepomukservicestub nepomukqueryservice

10848 /usr/kde/4.2/bin/nepomukservicestub nepomukontologyloader

10808 /opt/opera/lib/opera/10.00//operapluginwrapper-native 34 48 /opt/netscape/plugins/libflashplayer.so

10520 /usr/kde/4.2/bin/nepomukservicestub nepomukfilewatch

 9948 /opt/opera/lib/opera/10.00//operapluginwrapper-native 42 53 /opt/netscape/plugins/libflashplayer.so

 9748 /usr/kde/4.2/bin/kaccess

 9156 kdeinit4: kio_file [kdeinit] file local:/tmp/ksocket-root/klauncherMT3856.slave-socket local:/tmp/ksocket-root/krusaderAD3846.slave-socket

 9080 /usr/kde/4.2/bin/knotify4

 8572 klauncher

 8364 klauncher

 6740 kdeinit4: kio_file [kdeinit] file local:/tmp/ksocket-zerg/klauncherMT2903.slave-socket local:/tmp/ksocket-zerg/kopetehp3021.slave-socket

 5556 kdeinit4: kdeinit4 Running...

 4552 kdeinit4: kdeinit4 Running... icide

 4312 /usr/bin/pulseaudio --start

 3012 /usr/sbin/hald --use-syslog --verbose=no

 2552 /usr/kde/4.2/lib64/kde4/libexec/kdesud

```

Что, если поситать сумму - выйдет меньше 1 гб. 

Заранее спасибо.

----------

## ba

 *NerZhul wrote:*   

> free -m выдает к примеру следующее:
> 
> ```
> 
>              total       used       free     shared    buffers     cached
> ...

 

free -m у тебя говорит что приложениями у тебя занято всего 840М, так что все в порядке. а cached и buffers это фактически свободная память которая используется для кеширования дисковых данных и будет высвобождена под приложения по первой необходимости (в зависимости от значения vm.swappiness на самом деле система может решитьь что ей лучше держать больший кеш, а часть данных пихнуть в своп).

----------

## NerZhul

Я все понял... Буду читать документацию, чтобы лучше понимать обохначения. 

Спасибо анимешникам  :Smile: 

----------

## zvn

в своё время мне помогла такая арифметика на основе /proc/meminfo

```
#!/bin/sh

cached=$(cat /proc/meminfo|grep "^Cached:"|tr "[:alpha:]:" " ")

memfree=$(cat /proc/meminfo|grep "^MemFree:"|tr "[:alpha:]:" " ")

swapused=$[$(cat /proc/meminfo|grep "^SwapTotal:"|tr "[:alpha:]:" " ")-$(cat /proc/meminfo|grep "^SwapFree:"|tr "[:alpha:]:"" ")]

result=$[$cached+$memfree-$swapused]

```

----------

## Bircoph

 *zvn wrote:*   

> в своё время мне помогла такая арифметика на основе /proc/meminfo
> 
> ```
> #!/bin/sh
> 
> ...

 

SReclaimable ещё нужно вычитать. free его, кстати тоже не учитывает, что неверно.

----------

