|
|
|
|
![]() ![]() |
Feb 13 2005, 02:05 AM
Post
#1
|
|
|
Way Out Of Control - You need a life :) Group: Members Posts: 1,366 Joined: 14-September 04 From: Nottingham England Member No.: 570 |
If you dont have nough mmory, (ram + swap) there are 3 things you can do.
the first 2 are the most obviouse, 1) buy more memory. 2) use knoppix and qtparted to re-size your parttions 3) the little known easy method. You may not know, but linux has a loop driver in the /dev/ folder that allows a file on the hard disk to act as a disk drive / disk partiton. you can use it in exactly the same way your would use /dev/hda1 or /dev/cdrom. here is how to use it to quickly add extra virtual memory. before we start, make sure your loop driver is loaded... have a look in the /dev/ folder for files named loopX where X is a number between 0 and 7, possably by using the ommand "ls /dev/ | grep loop" if its not there, then as root run "modprobe loop" and look again. all these commands need to be done as root user. to become root user run the command "su -" and enter the root password. when you have finished, be sure to run "exit" to giveup the root privilages. first, create the file that will contain the virtual disk drive. CODE dd if=/dev/zero of=/SWAP.img bs=1M count=256 the abouve command will copy 256 * 1Megabyte from the file /dev/zero into the file /SWAP.img. /dev/zero is a pretend file, which dontains an infinite number of "0"'s for more info, read "man dd" replace 256 with the extra amount of memory you require. secondly, we need to setup the loop driver, to create a /dev/ interface to the file. their are 8 loop devices, somtimes the first one or 2 is in use, so to be save, lets use the 6th. CODE losetup /dev/loop5 /SWAP.img now /dev/loop5 will act as a disk drive, and save all its information to the /SWAP.img file automatically. for more information about losetup, read "man losetup" (you can delete a loop device like so "losetup -d /dev/loopX" where X is the loop number. thirdly... we need to format the disk as swap. CODE mkswap /dev/loop5 finally, activate the swap CODE swapon /dev/loop5 if you ever need to remove the swap file, first de-activate, then delete the interface, then delete the file. CODE swapoff /dev/loop5 losetup -d /dev/loop5 rm /SWAP.img to make the added swap activate automatically add the following lines to the end or your rc.local startup script. this script is in different places for different distro's but i will be somwhere in your /etc/ folder. most likely /etc/init.d/rc.local CODE losetup /dev/loop5 /SWAP.img swapon /dev/loop5 |
|
|
|
Dec 17 2007, 06:20 AM
Post
#2
|
|
|
Newbie [ Level 2 ] Group: Members Posts: 19 Joined: 14-December 07 From: Mexico Member No.: 26,890 |
I don't know that by mounting a virtual device you could extend you swap. It's a great an easy solution if you do not want to re-partition your drive.
But what about performance? Because one of the advantages of Unix systems over Windows is that "virtual memory" is stored in an individual and exclusive partition (swap) and Windows stores it in the same partition of the system (usually C:). The advantage of having an exclusive partition for virtual memory is that the swapped pages do not need to "compete" for allocation and virtual memory is faster, may be in this solution you propose the performance is similar as to having the complete virtual memory as one unit because I see that you pre-allocate this memory file. |
|
|
|
![]() ![]() |
Similar Topics
| Topics | Topics | |
|---|---|---|
|
|
|
|
Lo-Fi Version | Time is now: 13th October 2008 - 01:02 AM |