Take the 2-minute tour ×
Server Fault is a question and answer site for professional system and network administrators. It's 100% free, no registration required.

I am using Ubuntu 10.04 where a number of background jobs run every day. free and top both report that 3.9GB of the 4GB of memory is in use (of which ~90MB is cache/buffers).

When I do a top of ps aux and count the memory usage of my apps, I get to about 50%.

I am only running mysql, apache+passenger, and redis on the machine. It also hosts an NFS share.

Is there another way to check the remaining 49% of in use memory? And to free it without rebooting the server?

This is the output of free:

             total       used       free     shared    buffers     cached
Mem:       4010060    3820592     189468          0      84208     194168
-/+ buffers/cache:    3542216     467844
Swap:       741372     741292         80

ps aux:

USER       PID %CPU %MEM    VSZ   RSS TTY      STAT START   TIME COMMAND
root         1  0.0  0.0  23864   472 ?        Ss   Feb02   0:13 /sbin/init
root         2  0.0  0.0      0     0 ?        S    Feb02   0:00 [kthreadd]
root         3  0.0  0.0      0     0 ?        S    Feb02   2:32 [ksoftirqd/0]
root         4  0.0  0.0      0     0 ?        S    Feb02   0:14 [migration/0]
root         5  0.0  0.0      0     0 ?        S    Feb02   0:00 [watchdog/0]
root         6  0.0  0.0      0     0 ?        S    Feb02   0:25 [migration/1]
root         7  0.0  0.0      0     0 ?        S    Feb02   1:30 [ksoftirqd/1]
root         8  0.0  0.0      0     0 ?        S    Feb02   0:00 [watchdog/1]
root         9  0.0  0.0      0     0 ?        S    Feb02   5:17 [events/0]
root        10  0.0  0.0      0     0 ?        S    Feb02   2:06 [events/1]
root        11  0.0  0.0      0     0 ?        S    Feb02   0:00 [cpuset]
root        12  0.0  0.0      0     0 ?        S    Feb02   0:00 [khelper]
root        13  0.0  0.0      0     0 ?        S    Feb02   0:00 [netns]
root        14  0.0  0.0      0     0 ?        S    Feb02   0:00 [async/mgr]
root        15  0.0  0.0      0     0 ?        S    Feb02   0:00 [pm]
root        17  0.0  0.0      0     0 ?        S    Feb02   0:45 [sync_supers]
root        18  0.0  0.0      0     0 ?        S    Feb02   0:47 [bdi-default]
root        19  0.0  0.0      0     0 ?        S    Feb02   0:00 [kintegrityd/0]
root        20  0.0  0.0      0     0 ?        S    Feb02   0:00 [kintegrityd/1]
root        21  0.0  0.0      0     0 ?        S    Feb02   0:47 [kblockd/0]
root        22  0.0  0.0      0     0 ?        S    Feb02   0:27 [kblockd/1]
root        23  0.0  0.0      0     0 ?        S    Feb02   0:00 [kacpid]
root        24  0.0  0.0      0     0 ?        S    Feb02   0:00 [kacpi_notify]
root        25  0.0  0.0      0     0 ?        S    Feb02   0:00 [kacpi_hotplug]
root        26  0.0  0.0      0     0 ?        S    Feb02   0:00 [ata_aux]
root        27  0.0  0.0      0     0 ?        S    Feb02   0:00 [ata_sff/0]
root        28  0.0  0.0      0     0 ?        S    Feb02   0:00 [ata_sff/1]
root        29  0.0  0.0      0     0 ?        S    Feb02   0:00 [khubd]
root        30  0.0  0.0      0     0 ?        S    Feb02   0:00 [kseriod]
root        31  0.0  0.0      0     0 ?        S    Feb02   0:00 [kmmcd]
root        32  0.0  0.0      0     0 ?        S    Feb02   0:07 [khungtaskd]
root        33  0.0  0.0      0     0 ?        S    Feb02  53:01 [kswapd0]
root        34  0.0  0.0      0     0 ?        SN   Feb02   0:00 [ksmd]
root        35  0.0  0.0      0     0 ?        S    Feb02   0:00 [aio/0]
root        36  0.0  0.0      0     0 ?        S    Feb02   0:00 [aio/1]
root        37  0.0  0.0      0     0 ?        S    Feb02   0:00 [ecryptfs-kthrea]
root        38  0.0  0.0      0     0 ?        S    Feb02   0:00 [crypto/0]
root        39  0.0  0.0      0     0 ?        S    Feb02   0:00 [crypto/1]
root        44  0.0  0.0      0     0 ?        S    Feb02   0:00 [pciehpd]
root        45  0.0  0.0      0     0 ?        S    Feb02   0:00 [scsi_eh_0]
root        46  0.0  0.0      0     0 ?        S    Feb02   0:00 [scsi_eh_1]
root        47  0.0  0.0      0     0 ?        S    Feb02   0:00 [kstriped]
root        49  0.0  0.0      0     0 ?        S    Feb02   0:00 [kmpathd/0]
root        50  0.0  0.0      0     0 ?        S    Feb02   0:00 [kmpathd/1]
root        51  0.0  0.0      0     0 ?        S    Feb02   0:00 [kmpath_handlerd]
root        52  0.0  0.0      0     0 ?        S    Feb02   0:00 [ksnapd]
root        53  0.0  0.0      0     0 ?        S    Feb02   0:00 [kondemand/0]
root        54  0.0  0.0      0     0 ?        S    Feb02   0:00 [kondemand/1]
root        55  0.0  0.0      0     0 ?        S    Feb02   0:00 [kconservative/0]
root        56  0.0  0.0      0     0 ?        S    Feb02   0:00 [kconservative/1]
root       246  0.0  0.0      0     0 ?        S    Feb02   2:58 [mpt_poll_0]
root       256  0.0  0.0      0     0 ?        S    Feb02   0:00 [mpt/0]
root       259  0.0  0.0      0     0 ?        S    Feb02   0:00 [scsi_eh_2]
root       278  0.0  0.0      0     0 ?        S    Feb02   0:08 [kdmflush]
root       282  0.0  0.0      0     0 ?        S    Feb02   0:00 [kdmflush]
root       297  0.0  0.0      0     0 ?        S    Feb02   0:36 [jbd2/dm-0-8]
root       298  0.0  0.0      0     0 ?        S    Feb02   0:00 [ext4-dio-unwrit]
root       299  0.0  0.0      0     0 ?        S    Feb02   0:00 [ext4-dio-unwrit]
root       338  0.0  0.0  17096     0 ?        S    Feb02   0:00 upstart-udev-bridge --daemon
root       340  0.0  0.0 147836    80 ?        Ss   Mar02   7:54 /usr/sbin/apache2 -k start
root       349  0.0  0.0  16880     0 ?        S<s  Feb02   0:00 udevd --daemon
root       554  0.0  0.0      0     0 ?        S    Feb02   0:00 [kpsmoused]
root       577  0.0  0.0      0     0 ?        S    Feb02 127:26 [vmmemctl]
root       657  0.0  0.0      0     0 ?        S    Feb02 126:36 [jbd2/sdb1-8]
root       658  0.0  0.0      0     0 ?        S    Feb02   0:00 [ext4-dio-unwrit]
root       659  0.0  0.0      0     0 ?        S    Feb02   0:00 [ext4-dio-unwrit]
root       788  0.0  0.0   6128     4 tty4     Ss+  Feb02   0:00 /sbin/getty -8 38400 tty4
root       791  0.0  0.0   6128     4 tty5     Ss+  Feb02   0:00 /sbin/getty -8 38400 tty5
root       793  0.0  0.0  49312   104 ?        Ss   Feb02   0:04 /usr/sbin/sshd
root       796  0.0  0.0   6128     4 tty2     Ss+  Feb02   0:00 /sbin/getty -8 38400 tty2
root       797  0.0  0.0   6128     4 tty3     Ss+  Feb02   0:00 /sbin/getty -8 38400 tty3
root       801  0.0  0.0   6128     4 tty6     Ss+  Feb02   0:00 /sbin/getty -8 38400 tty6
daemon     804  0.0  0.0  18932     0 ?        Ss   Feb02   0:02 atd
root       805  0.0  0.0  21128   156 ?        Ss   Feb02   0:47 cron
root       851  0.0  0.0  11360   304 ?        Ss   Feb02  15:18 /usr/sbin/irqbalance
root      1374  0.0  0.0      0     0 ?        S    Mar16   0:01 [jbd2/dm-2-8]
root      1375  0.0  0.0      0     0 ?        S    Mar16   0:00 [ext4-dio-unwrit]
root      1376  0.0  0.0      0     0 ?        S    Mar16   0:00 [ext4-dio-unwrit]
root      4088  0.0  0.0      0     0 ?        S    11:58   0:00 [flush-251:0]
root      4329  0.0  0.0  70660   720 ?        Ss   11:59   0:00 sshd: myuser [priv]
myuser    4347  0.0  0.0  70660   744 ?        S    12:00   0:00 sshd: myuser@pts/1
myuser    4348  0.0  0.1  26028  6432 pts/1    Ss   12:00   0:00 -bash
munin     5150  0.0  0.0  39916  2040 ?        Ss   Apr08   8:04 /usr/sbin/munin-node
redis     8110  3.0 38.7 2244244 1553116 ?     Ss   May19  27:58 /usr/bin/redis-server /etc/redis/re
www-data  8433  0.0  0.0 148344  1928 ?        S    May17   0:01 /usr/sbin/apache2 -k start
www-data  8435  0.0  0.0 148336  2132 ?        S    May17   0:01 /usr/sbin/apache2 -k start
myuser   10115  0.0  0.0  26624   592 ?        Ss   12:50   0:00 SCREEN -dR
myuser   10116  0.0  0.0  22808  2548 pts/0    Ss   12:50   0:00 /bin/bash
root     11410  0.0  0.0  27248   396 ?        Ss   Mar16   0:03 rpc.idmapd
root     11439  0.0  0.0      0     0 ?        S    Mar16   0:00 [lockd]
root     11440  0.0  0.0      0     0 ?        S    Mar16   0:03 [nfsd4]
root     11441  0.0  0.0      0     0 ?        S    Mar16   0:00 [nfsd4_callbacks]
root     11442  0.0  0.0      0     0 ?        S    Mar16   0:19 [nfsd]
root     11443  0.0  0.0      0     0 ?        S    Mar16   0:21 [nfsd]
root     11444  0.0  0.0      0     0 ?        S    Mar16   0:20 [nfsd]
root     11445  0.0  0.0      0     0 ?        S    Mar16   0:22 [nfsd]
root     11446  0.0  0.0      0     0 ?        S    Mar16   0:21 [nfsd]
root     11447  0.0  0.0      0     0 ?        S    Mar16   0:20 [nfsd]
root     11448  0.0  0.0      0     0 ?        S    Mar16   0:21 [nfsd]
root     11449  0.0  0.0      0     0 ?        S    Mar16   0:20 [nfsd]
root     11453  0.0  0.0  19032   316 ?        Ss   Mar16   0:09 /usr/sbin/rpc.mountd --manage-gids
myapp     11886  0.0  0.0  11984   196 pts/0    S+   13:03   0:00 /bin/bash shared/worker.sh
myapp     11887  0.1  2.0 180724 81252 pts/0    S+   13:04   0:03 resque-1.10.0: Forked 14745 at 1305
myapp     13085  0.1  2.0 195248 83180 ?        S    13:17   0:03 Rails: /var/www/myapp-prd/current
myapp     14745 80.9  2.0 185908 80900 pts/0    R+   13:29  19:09 resque-1.10.0: Processing myapp_import
www-data 15516  0.0  0.0 148224  1608 ?        S    May17   0:01 /usr/sbin/apache2 -k start
myuser   17579  0.0  0.0  17760  1220 pts/1    R+   13:53   0:00 ps aux
mysql    18736  2.5  1.1 345568 46396 ?        Ssl  Mar16 2349:04 /usr/sbin/mysqld
daemon   21340  0.0  0.0   8304     4 ?        Ss   Mar16   0:00 portmap
statd    21564  0.0  0.0  14600     4 ?        Ss   Mar16   0:00 rpc.statd -L
root     21823  0.0  0.0      0     0 ?        S    Mar16   0:00 [rpciod/0]
root     21824  0.0  0.0      0     0 ?        S    Mar16   0:00 [rpciod/1]
www-data 22353  0.0  0.0 148484  1352 ?        S    May16   0:02 /usr/sbin/apache2 -k start
root     23471  0.0  0.0      0     0 ?        S<   Mar16   0:00 [kslowd000]
root     23472  0.0  0.0      0     0 ?        S<   Mar16   0:00 [kslowd001]
root     23473  0.0  0.0      0     0 ?        S    Mar16   0:00 [nfsiod]
www-data 27001  0.0  0.0 148496  1588 ?        S    May17   0:01 /usr/sbin/apache2 -k start
root     27365  0.0  0.0  23432    20 ?        Ssl  May15   0:00 PassengerWatchdog
root     27368  0.0  0.0 164064  1064 ?        Sl   May15   6:51 PassengerHelperAgent
root     27370  0.0  0.2  61904  8408 ?        S    May15   0:02 Passenger spawn server
nobody   27373  0.0  0.0  72172    28 ?        Sl   May15   0:01 PassengerLoggingAgent
www-data 27383  0.0  0.0 148356  1740 ?        S    May15   0:02 /usr/sbin/apache2 -k start
www-data 27384  0.0  0.0 148492  1444 ?        S    May15   0:02 /usr/sbin/apache2 -k start
www-data 27385  0.0  0.0 148224  1568 ?        S    May15   0:02 /usr/sbin/apache2 -k start
www-data 27386  0.0  0.0 148496  1860 ?        S    May15   0:02 /usr/sbin/apache2 -k start
root     29402  0.0  0.0  16876     4 ?        S<   Mar16   0:00 udevd --daemon
root     29800  0.0  0.0      0     0 ?        S    Mar16   0:00 [kdmflush]
root     29804  0.0  0.0  16876     4 ?        S<   Mar16   0:00 udevd --daemon
www-data 30231  0.0  0.0 148352  1904 ?        S    May16   0:02 /usr/sbin/apache2 -k start
root     31072  0.0  0.0      0     0 ?        S    May12   0:37 [flush-8:16]
syslog   31116  0.0  0.0 126028   388 ?        Sl   May12   0:04 rsyslogd -c4
root     32217  0.0  0.0   6128     4 tty1     Ss+  Mar17   0:00 /sbin/getty -8 38400 tty1

cat /proc/meminfo:

MemTotal:        4010060 kB
MemFree:          155604 kB
Buffers:           48232 kB
Cached:           149308 kB
SwapCached:        42036 kB
Active:          1572044 kB
Inactive:         639616 kB
Active(anon):    1496792 kB
Inactive(anon):   517464 kB
Active(file):      75252 kB
Inactive(file):   122152 kB
Unevictable:           0 kB
Mlocked:               0 kB
SwapTotal:        741372 kB
SwapFree:             64 kB
Dirty:              1532 kB
Writeback:             0 kB
AnonPages:       1972572 kB
Mapped:             7920 kB
Shmem:                96 kB
Slab:              24384 kB
SReclaimable:      12224 kB
SUnreclaim:        12160 kB
KernelStack:        1368 kB
PageTables:        11632 kB
NFS_Unstable:          0 kB
Bounce:                0 kB
WritebackTmp:          0 kB
CommitLimit:     2746400 kB
Committed_AS:    3150752 kB
VmallocTotal:   34359738367 kB
VmallocUsed:      281448 kB
VmallocChunk:   34359449320 kB
HardwareCorrupted:     0 kB
HugePages_Total:       0
HugePages_Free:        0
HugePages_Rsvd:        0
HugePages_Surp:        0
Hugepagesize:       2048 kB
DirectMap4k:       12288 kB
DirectMap2M:     4132864 kB

One of the things I notice is the high value of Active(anon): 1496792 kB, which according to the docs is:

Memory that has been used more recently and usually not reclaimed unless absolutely necessary.

That's almost 1.5GB right there, is that normal? I do have very long (permanent) running processes (Resque) that fork each time a job comes in.

share|improve this question
1  
Could you post the output of free, and of ps aux? Maybe we spot something. –  sleske May 20 '11 at 10:36
    
Added free, ps aux, and cat /proc/meminfo output. –  Kamiel Wanrooij May 20 '11 at 12:05
    
In my opinion this is a normal behaviour of your linux machine. check out this link for an easy explanation of the memory management in linux: linuxatemyram.com –  grub May 20 '11 at 12:45
    
I am not sure, I don't see that much caching or buffers going on in the free output compared to the memory in use. –  Kamiel Wanrooij May 20 '11 at 15:23

1 Answer 1

up vote 2 down vote accepted

Check your /proc/meminfo output, that will be provide more details of how your memory is beig used. Refer to this article to decipher the terms, scroll down to the meminfo section.

http://www.mjmwired.net/kernel/Documentation/filesystems/proc.txt

share|improve this answer
    
Thanks, will look into this! –  Kamiel Wanrooij May 20 '11 at 11:19
    
Never got to accept your answer, but this was really helpful in determining my applications memory usage. –  Kamiel Wanrooij Feb 15 '12 at 17:13

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.