Showing posts with label memory. Show all posts
Showing posts with label memory. Show all posts

Monday, August 3, 2009

Add more swap space to a running Linux system

Today I was trying to install Oracle XE to a Centos 5 installation using this guide. While installing the packages i noticed that the Oracle XE Database was unable to install. The error message was quite clear:

This system does not meet the minimum requirements for swap space.  Based on
the amount of physical memory available on the system, Oracle Database 10g
Express Edition requires 1024 MB of swap space. This system has 509 MB
of swap space.  Configure more swap space on the system and retry the installation.
error: %pre(oracle-xe-univ-10.2.0.1-1.0.i386) scriptlet failed, exit status 1
error:   install: %pre scriptlet failed (2), skipping oracle-xe-univ-10.2.0.1-1.0
My solution was to adding some temporary swap space to this system, which is really easy to do:

Step 1. Create an empty file called /swapfile from about 600MB

root@bootux:~# dd if=/dev/zero of=/swapfile bs=1024000 count=600
600+0 records in
600+0 records out
614400000 bytes (614 MB) copied, 5.85153 seconds, 105 MB/
Step 2. Format the new file to make it a swap file
root@bootux:~# mkswap /swapfile
Setting up swapspace version 1, size = 614395 kB
Step 3. Enable the new swapfile. Only the swapon command is needed, but with the free command you can clearly see the swap space is made available to the system.
root@bootux:~# free -m | grep Swap
Swap:          509          0        509
root@bootux:~# swapon /swapfile
root@bootux:~# free -m | grep Swap
Swap:         1095          0       1095
Installation can now continue :)


Tuesday, October 28, 2008

Clearing Linux' Memory Cache

Note to self: Here are some commands you can use to clear the memory cache on a Linux system. The following command sequence will do the following: - display the memory stats - flush filesystem buffers - drop cached memory - display the memory stats again
$ free $ sudo sync $ sudo echo 3 | sudo tee /proc/sys/vm/drop_caches $ free
Or, if you like one-liners:
free; sudo sync; sudo echo 3 | sudo tee /proc/sys/vm/drop_caches; free
This is the ouput that i got. The values in bold are my commands, if you look at the underlined values, you will see the memory drop.
linux01:~ $ free
             total       used       free     shared    buffers     cached
Mem:       2061568    2029968      31600          0     429284    1247252
-/+ buffers/cache:     353432    1708136
Swap:      1036152        104    1036048
linux01:~ $ sudo sync
linux01:~ $ sudo echo 3 | sudo tee /proc/sys/vm/drop_caches
3
linux01:~ $ free
             total       used       free     shared    buffers     cached
Mem:       2061568     724828    1336740          0        340     392092
-/+ buffers/cache:     332396    1729172
Swap:      1036152        104    1036048
I tested this on SLES10 and Centos5 and Ubuntu8.04. My Ubuntu 6.06 and 7.10 boxes do not seem to have the file /proc/sys/vm/drop_caches . Sources: 1 and 2.