Имею инсталляцию Astra Linux 1.3 в виртуалку. Ядро такое:
Linux km1 3.2.0-27-generic
Виртуалка «эмулирует» железный сертифицированный компьютер. Поэтому на виртуалку выделено 2 ядра и 2Gb оперативки, как и на настоящем железе.
В какой-то момент, для запуска тестовой программы, памяти начинает не хватать. То есть, запущен Linux с X-ами, DE Fly и терминал. И все.
А вот что творится с памятью:
user@km1:~$ free -m
total used free shared buffers cached
Mem: 2049 1957 92 0 153 596
-/+ buffers/cache: 1207 842
Swap: 0 0 0
user@km1:~$ cat /proc/meminfo
MemTotal: 2099112 kB
MemFree: 87432 kB
Buffers: 157068 kB
Cached: 615180 kB
SwapCached: 0 kB
Active: 396412 kB
Inactive: 463940 kB
Active(anon): 115752 kB
Inactive(anon): 19316 kB
Active(file): 280660 kB
Inactive(file): 444624 kB
Unevictable: 1952 kB
Mlocked: 0 kB
SwapTotal: 0 kB
SwapFree: 0 kB
Dirty: 48 kB
Writeback: 0 kB
AnonPages: 90204 kB
Mapped: 74896 kB
Shmem: 45012 kB
Slab: 93756 kB
SReclaimable: 79988 kB
SUnreclaim: 13768 kB
KernelStack: 1616 kB
PageTables: 8172 kB
NFS_Unstable: 0 kB
Bounce: 0 kB
WritebackTmp: 0 kB
CommitLimit: 1049556 kB
Committed_AS: 521820 kB
VmallocTotal: 34359738367 kB
VmallocUsed: 56436 kB
VmallocChunk: 34359678972 kB
HardwareCorrupted: 0 kB
AnonHugePages: 0 kB
HugePages_Total: 0
HugePages_Free: 0
HugePages_Rsvd: 0
HugePages_Surp: 0
Hugepagesize: 2048 kB
DirectMap4k: 73664 kB
DirectMap2M: 2072576 kB
user@km1:~$ vmstat -s
2099112 K total memory
2011888 K used memory
396632 K active memory
463984 K inactive memory
87224 K free memory
157092 K buffer memory
615200 K swap cache
0 K total swap
0 K used swap
0 K free swap
64401 non-nice user cpu ticks
338 nice user cpu ticks
9290 system cpu ticks
362431 idle cpu ticks
41867 IO-wait cpu ticks
2 IRQ cpu ticks
2901 softirq cpu ticks
0 stolen cpu ticks
737953 pages paged in
1780832 pages paged out
0 pages swapped in
0 pages swapped out
14789223 interrupts
33346096 CPU context switches
1584511105 boot time
13162 forks
Видно, что используемая память не бъется с занятой на ~400Mb:
active mem + inactive mem + buffer mem + swap cache = 1632908
2011888 != 1632908
А вот что потребляют процессы (сделал от root чтоб видны были все процессы):
root@km1:/usr/share/iks/settings/default# ps aux
USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND
root 1 0.0 0.0 10660 852 ? Ss 08:58 0:00 init [2]
root 2 0.0 0.0 0 0 ? S 08:58 0:00 [kthreadd]
root 3 0.0 0.0 0 0 ? S 08:58 0:00 [ksoftirqd/0]
root 6 0.0 0.0 0 0 ? S 08:58 0:00 [migration/0]
root 7 0.0 0.0 0 0 ? S 08:58 0:00 [watchdog/0]
root 8 0.0 0.0 0 0 ? S 08:58 0:00 [migration/1]
root 10 0.0 0.0 0 0 ? S 08:58 0:00 [ksoftirqd/1]
root 12 0.0 0.0 0 0 ? S 08:58 0:00 [watchdog/1]
root 13 0.0 0.0 0 0 ? S< 08:58 0:00 [cpuset]
root 14 0.0 0.0 0 0 ? S< 08:58 0:00 [khelper]
root 15 0.0 0.0 0 0 ? S 08:58 0:00 [kdevtmpfs]
root 16 0.0 0.0 0 0 ? S< 08:58 0:00 [netns]
root 18 0.0 0.0 0 0 ? S 08:58 0:00 [sync_supers]
root 19 0.0 0.0 0 0 ? S 08:58 0:00 [bdi-default]
root 20 0.0 0.0 0 0 ? S< 08:58 0:00 [kintegrityd]
root 21 0.0 0.0 0 0 ? S< 08:58 0:00 [kblockd]
root 22 0.0 0.0 0 0 ? S< 08:58 0:00 [ata_sff]
root 23 0.0 0.0 0 0 ? S 08:58 0:00 [khubd]
root 24 0.0 0.0 0 0 ? S< 08:58 0:00 [md]
root 27 0.0 0.0 0 0 ? S 08:58 0:00 [khungtaskd]
root 28 0.0 0.0 0 0 ? S 08:58 0:00 [kswapd0]
root 29 0.0 0.0 0 0 ? SN 08:58 0:00 [ksmd]
root 30 0.0 0.0 0 0 ? SN 08:58 0:00 [khugepaged]
root 31 0.0 0.0 0 0 ? S 08:58 0:00 [fsnotify_mark]
root 32 0.0 0.0 0 0 ? S 08:58 0:00 [ecryptfs-kthrea]
root 33 0.0 0.0 0 0 ? S< 08:58 0:00 [crypto]
root 41 0.0 0.0 0 0 ? S< 08:58 0:00 [kthrotld]
root 42 0.0 0.0 0 0 ? S 08:58 0:00 [scsi_eh_0]
root 43 0.0 0.0 0 0 ? S 08:58 0:00 [scsi_eh_1]
root 44 0.0 0.0 0 0 ? S 08:58 0:00 [scsi_eh_2]
root 45 0.0 0.0 0 0 ? S 08:58 0:00 [kworker/u:2]
root 47 0.0 0.0 0 0 ? S 08:58 0:00 [kworker/u:4]
root 66 0.0 0.0 0 0 ? S< 08:58 0:00 [devfreq_wq]
root 226 0.0 0.0 0 0 ? S 08:58 0:00 [kworker/1:2]
root 253 0.0 0.0 6864 496 ? Ss 08:58 0:00 /sbin/v86d
root 284 0.3 0.0 0 0 ? S 08:58 0:09 [jbd2/sda1-8]
root 285 0.0 0.0 0 0 ? S< 08:58 0:00 [ext4-dio-unwrit]
root 381 0.0 0.0 29796 1520 ? Ss 08:58 0:00 udevd --daemon
root 494 0.0 0.0 0 0 ? S< 08:58 0:00 [iprt-VBoxWQueue]
root 593 0.0 0.0 0 0 ? S< 08:58 0:00 [ttm_swap]
root 596 0.0 0.0 0 0 ? S< 08:58 0:00 [kpsmoused]
root 1439 0.0 0.0 18980 728 ? Ss 08:58 0:00 /sbin/rpcbind -w
root 1689 0.0 0.0 3940 76 ? Ss 08:58 0:00 /usr/sbin/acpi_fakekeyd
daemon 1990 0.0 0.0 14572 560 ? Ss 08:58 0:00 /usr/sbin/parlogd --pidfile=/var/ru
root 2051 0.0 0.0 57080 1688 ? Sl 08:58 0:00 /usr/sbin/rsyslogd -c5
root 2129 0.0 0.0 4252 840 ? Ss 08:58 0:00 /usr/sbin/acpid
root 2201 0.0 0.0 20412 1076 ? Ss 08:58 0:00 /usr/sbin/cron
101 2343 0.0 0.0 30076 1440 ? Ss 08:58 0:00 /usr/bin/dbus-daemon --system
avahi 2371 0.0 0.0 34176 1788 ? S 08:58 0:01 avahi-daemon: registering [km1-165.
avahi 2372 0.0 0.0 34048 468 ? S 08:58 0:00 avahi-daemon: chroot helper
root 2410 0.0 0.1 82020 3440 ? Ss 08:58 0:00 /usr/sbin/cupsd -C /etc/cups/cupsd.
root 2507 0.0 0.0 50508 1088 ? Ss 08:58 0:00 /usr/bin/fly-dm
root 2510 2.1 2.3 180524 49556 tty7 Ssl+ 08:58 1:04 /usr/bin/X -br -novtswitch -quiet :
root 2589 0.0 0.0 6752 412 ? Ss 08:58 0:00 /usr/sbin/gpm -m /dev/input/mice -t
root 2615 0.0 0.1 107048 2932 ? S 08:58 0:00 -:0
root 2642 0.0 0.1 129716 3808 ? Sl 08:58 0:00 /usr/sbin/console-kit-daemon --no-d
root 2709 0.0 0.1 135964 3824 ? Sl 08:58 0:00 /usr/lib/policykit-1/polkitd --no-d
user 2725 0.0 0.0 42916 1432 ? Ss 08:58 0:00 /usr/bin/ck-launch-session /usr/bin
postgres 2736 0.0 0.9 234940 19152 ? S 08:58 0:01 /usr/lib/postgresql/9.1/bin/postgre
root 2755 0.0 0.0 0 0 ? S 08:58 0:00 [flush-8:0]
user 2783 0.0 0.0 48492 284 ? S 08:58 0:00 /usr/bin/VBoxClient --clipboard
user 2784 0.0 0.0 51332 1972 ? Sl 08:58 0:00 /usr/bin/VBoxClient --clipboard
user 2794 0.0 0.0 48492 284 ? S 08:58 0:00 /usr/bin/VBoxClient --display
user 2795 0.0 0.0 48492 1228 ? S 08:58 0:00 /usr/bin/VBoxClient --display
user 2800 0.0 0.0 48492 284 ? S 08:58 0:00 /usr/bin/VBoxClient --seamless
user 2801 0.0 0.0 49156 1300 ? Sl 08:58 0:00 /usr/bin/VBoxClient --seamless
user 2806 0.0 0.0 48492 280 ? S 08:58 0:00 /usr/bin/VBoxClient --draganddrop
user 2807 0.3 0.0 49672 1288 ? Sl 08:58 0:09 /usr/bin/VBoxClient --draganddrop
user 2812 0.0 0.0 48492 284 ? S 08:58 0:00 /usr/bin/VBoxClient --vmsvga-x11
user 2813 0.0 0.0 48828 1472 ? S 08:58 0:00 /usr/bin/VBoxClient --vmsvga-x11
user 2814 0.0 0.0 12396 332 ? Ss 08:58 0:00 /usr/bin/ssh-agent /usr/bin/ck-laun
user 2824 0.4 0.7 167696 15016 ? S 08:58 0:13 x-session-manager
user 2827 0.0 0.0 24196 864 ? S 08:58 0:00 /usr/bin/dbus-launch --exit-with-se
user 2828 0.0 0.0 29812 712 ? Ss 08:58 0:00 /usr/bin/dbus-daemon --fork --print
postgres 2831 0.0 0.0 84400 1492 ? Ss 08:58 0:00 postgres: logger process
postgres 2833 0.0 1.3 235076 28252 ? Ss 08:58 0:02 postgres: writer process
postgres 2834 0.0 0.0 235076 1876 ? Ss 08:58 0:02 postgres: wal writer process
postgres 2835 0.0 0.1 235904 3336 ? Ss 08:58 0:00 postgres: autovacuum launcher proce
postgres 2836 0.0 0.0 86624 1816 ? Ss 08:58 0:01 postgres: stats collector process
user 2841 0.0 0.2 69340 4500 ? Ss 08:58 0:00 /usr/bin/fly-cups-watch
user 2842 0.0 0.5 247100 12104 ? Ssl 08:58 0:00 /usr/bin/fly-reflex-service
user 2844 0.0 0.5 186588 12484 ? Ssl 08:58 0:00 /usr/lib/policykit-1-fly/fly-polkit
user 2845 0.1 0.5 277992 12344 ? Ssl 08:58 0:03 /usr/share/iks_cd/iks_control_daemo
root 2848 0.0 0.1 94680 4196 ? Sl 08:58 0:00 /usr/lib/upower/upowerd
root 2958 0.0 0.1 58052 3488 ? Sl 08:58 0:00 /usr/lib/udisks/udisks-daemon
root 2963 0.0 0.0 49560 804 ? S 08:58 0:00 udisks-daemon: not polling any devi
root 3092 0.0 0.0 49868 1132 ? Ss 08:58 0:00 /usr/sbin/sshd
root 3123 0.0 0.0 10428 116 ? Ss 08:58 0:00 /usr/sbin/ulogd -d
root 3268 0.0 0.0 108488 1504 ? Sl 08:58 0:00 /usr/sbin/VBoxService --pidfile /va
root 3279 0.0 0.0 29792 1140 ? S 08:58 0:00 udevd --daemon
root 3292 0.0 0.0 16256 932 tty1 Ss+ 08:58 0:00 /sbin/getty 38400 tty1
root 3293 0.0 0.0 16256 928 tty2 Ss+ 08:58 0:00 /sbin/getty 38400 tty2
root 3294 0.0 0.0 16256 932 tty3 Ss+ 08:58 0:00 /sbin/getty 38400 tty3
root 3295 0.0 0.0 16256 928 tty4 Ss+ 08:58 0:00 /sbin/getty 38400 tty4
root 3296 0.0 0.0 16256 928 tty5 Ss+ 08:58 0:00 /sbin/getty 38400 tty5
root 3297 0.0 0.0 16256 924 tty6 Ss+ 08:58 0:00 /sbin/getty 38400 tty6
user 5477 0.1 1.1 297208 24160 ? Rsl 09:05 0:05 x-terminal-emulator
user 5479 0.0 0.0 19420 2092 pts/0 Ss 09:05 0:00 /bin/bash
root 5486 0.0 0.0 76896 1976 pts/0 S 09:05 0:00 su -
root 5492 0.0 0.1 19412 2116 pts/0 S 09:05 0:00 -su
root 5499 0.0 0.2 52036 4276 pts/0 S+ 09:05 0:00 mc
root 5501 0.0 0.1 19412 2112 pts/1 Ss 09:05 0:00 bash -rcfile .bashrc
root 10445 0.0 0.0 0 0 ? S 09:26 0:00 [kworker/0:1]
user 11911 0.0 0.1 19420 2100 pts/2 Ss 09:33 0:00 /bin/bash
user 11916 0.1 0.2 52088 4416 pts/2 S+ 09:33 0:01 mc
user 11918 0.0 0.1 19424 2132 pts/3 Ss 09:33 0:00 bash -rcfile .bashrc
root 12045 0.0 0.0 0 0 ? S 09:35 0:00 [kworker/1:0]
user 12754 0.3 0.0 23324 1556 pts/3 S+ 09:40 0:01 top
user 12850 0.0 0.1 19420 2128 pts/4 Ss+ 09:41 0:00 /bin/bash
root 12896 0.0 0.0 0 0 ? S 09:42 0:00 [kworker/0:0]
root 13212 0.0 0.0 0 0 ? S 09:47 0:00 [kworker/0:2]
root 13298 0.0 0.0 16832 1264 pts/1 R+ 09:49 0:00 ps aux
А процессы почти ничего не потребляют.
Я думал, что может PostgreSQL выжирает память. Но после остановки сервиса картина практически не меняется:
user@km1:~$ free -m
total used free shared buffers cached
Mem: 2049 1932 117 0 154 570
-/+ buffers/cache: 1207 842
Swap: 0 0 0
user@km1:~$ cat /proc/meminfo
MemTotal: 2099112 kB
MemFree: 120320 kB
Buffers: 158116 kB
Cached: 584096 kB
SwapCached: 0 kB
Active: 373104 kB
Inactive: 456172 kB
Active(anon): 89268 kB
Inactive(anon): 3236 kB
Active(file): 283836 kB
Inactive(file): 452936 kB
Unevictable: 1952 kB
Mlocked: 0 kB
SwapTotal: 0 kB
SwapFree: 0 kB
Dirty: 36 kB
Writeback: 0 kB
AnonPages: 88976 kB
Mapped: 33732 kB
Shmem: 3488 kB
Slab: 93392 kB
SReclaimable: 80016 kB
SUnreclaim: 13376 kB
KernelStack: 1568 kB
PageTables: 7064 kB
NFS_Unstable: 0 kB
Bounce: 0 kB
WritebackTmp: 0 kB
CommitLimit: 1049556 kB
Committed_AS: 362556 kB
VmallocTotal: 34359738367 kB
VmallocUsed: 56436 kB
VmallocChunk: 34359678972 kB
HardwareCorrupted: 0 kB
AnonHugePages: 0 kB
HugePages_Total: 0
HugePages_Free: 0
HugePages_Rsvd: 0
HugePages_Surp: 0
Hugepagesize: 2048 kB
DirectMap4k: 73664 kB
DirectMap2M: 2072576 kB
Вопрос: что происходит с памятью? Как освободить память так, чтобы она реально освободилась? Пока что приходится тупо перезагружаться, но это же не вариант так работать.