Should I put the swap partition at the beginning or the end of the drive?
Slackware - InstallationThis forum is for the discussion of installation issues with Slackware.
Notices
Welcome to LinuxQuestions.org, a friendly and active Linux Community.
You are currently viewing LQ as a guest. By joining our community you will have the ability to post topics, receive our newsletter, use the advanced search, subscribe to threads and access many other special features. Registration is quick, simple and absolutely free. Join our community today!
Note that registered members see fewer ads, and ContentLink is completely disabled once you log in.
If you have any problems with the registration process or your account login, please contact us. If you need to reset your password, click here.
Having a problem logging in? Please visit this page to clear all LQ-related cookies.
Get a virtual cloud desktop with the Linux distro that you want in less than five minutes with Shells! With over 10 pre-installed distros to choose from, the worry-free installation life is here! Whether you are a digital nomad or just looking for flexibility, Shells can put your Linux machine on the device that you want to use.
Exclusive for LQ members, get up to 45% off per month. Click here for more info.
Should I put the swap partition at the beginning or the end of the drive?
I did a search, but I didn't find the answer. Where do I get better performance? Putting my swap at the beginning of the drive or the end of it? I've installed Linux soooo many times and never bothered to ask. I just put an 80GB hard drive into my Sony PCG-F180 and even though the hard drive is 5400 RPM, I need more speed (it's a PII333, 192mb RAM....every little but helps)
I have always read to put it on the beginning of the drive, the first partition that you can. I always set up my /boot partition first then my swap space right after. If you think about it the inside of the drive can be read faster than the outside part. That is what I have read anyway. I know there is a difference on the old audio records too.
I have never tested this myself though, this is just what I have always read. I don't know if you can test it either.
I just did some experimenting with dd. It seems that I get better read response from the end of my Western Digital. This isn't what I would expect. There may be other factors involved here. It would probably be much more objective if I didn't have linux running on the drive.
Bear in mind also, that all new hard drives lie about their geometry. Any given sector that you specify can physically be anywhere on the drive. Some will silently replace tracks with bad sectors for spare ones.
Originally posted by gd2shoe
Bear in mind also, that all new hard drives lie about their geometry. Any given sector that you specify can physically be anywhere on the drive.
That is very true. Maybe a test for the drive you plan to use would be best. That way you can know what that specific drive will do instead of just assuming what it will do. Taking that info in mind, I bet even two drives of the same exact model would differ in speed depending on the where any bad tracks may be at.
I have 1GB of ram so I rarely use swap. I have no clue how fast it would be or how to test it. It is the second partition on mine though. I used the swapiness thing to make it not use to much swap too. I can't remember where I put that. It's in /etc somewhere.
Well, I just came back fom town. They are saying gas may go up again so I went and filled up my tanks, again. It is $2.54 a gallon here. It was $3.55 a few weeks ago. Greedy oil companies.
Re: Should I put the swap partition at the beginning or the end of the drive?
Quote:
Originally posted by mpyusko I did a search, but I didn't find the answer. Where do I get better performance? Putting my swap at the beginning of the drive or the end of it? I've installed Linux soooo many times and never bothered to ask. I just put an 80GB hard drive into my Sony PCG-F180 and even though the hard drive is 5400 RPM, I need more speed (it's a PII333, 192mb RAM....every little but helps)
Where to place your swap partition depends in the first place on how many disks you have.
The most important thing you have to bear in mind is that the harddisks have to move the heads and this costs time.
The plates (there more than one to conform what we know as a 'hard disk') spin faster on the border as in the middle. But having only one disk the key bottleneck is not this speed difference but the time lost in moving the heads form one part of the disk to the other. What we need to search is a way to minimize head movement placing the swap partition in a proper place.
If we have two or more disks the obvious place are the first sectors of the disk taking also advantage of paralelization, so one head on one disk can always be there writing into the swap while the other on the other disk is reading or writing somewhere else.
But this advantages disappear if we only have one disk. then the approach is radically different:
With a single disk we need to minimize the travel time of the heads as much as we can. And we can achieve this using the middle of the HD as a swap partiion. This way there will always be a header near and the time spent for a head coming from either the border or the center is only half as much as if you place it at the beginning or the end.
Placing a swap aprtition at the end of a disk is always a bad idea as you won't get the advantage of the reduced travel time of the heads and you will also get an extra penalty in speed and block density.
So the thumbrule is:
One HD swap in the middle
Multiple Hardisks swap in the first sectors
This can improve the speed of disk transaction on systems which makes a heavy use of swapping; old systems with less than 64MB of (slow)RAM... In more or less modern systems swap space is almost a relic from the past which we use more as a tradition. So on one of my machines (Duron 1.3 GHz, 758RAM DDR 333, 2xSeagate ATA100 40GB HD's) I never have used more than a 1%-4% of my 0.5GB of swap space. As you see there not much use in faster disk access when we aren't indeed
using this space at all.
So if you have plenty of RAM (this means more than 128MB) using an alternative solution could be the right solution. This alternative is to use the dynamic swapping daemon instead of a fixed swap partion, the swapd. This daemon takes care of using the part of the disk which fits best to it's needs to place temprorary swap files, so you don't have to bother about where to place them. Drawback is that you have to recompile the kernel.
So, swap partitions make only sense in old low-ram systems and in laptops where the swap partition is used as susend-to-disk storage.
Re: Re: Should I put the swap partition at the beginning or the end of the drive?
Quote:
So if you have plenty of RAM (this means more than 128MB) using an alternative solution could be the right solution. This alternative is to use the dynamic swapping daemon instead of a fixed swap partion, the swapd. This daemon takes care of using the part of the disk which fits best to it's needs to place temprorary swap files, so you don't have to bother about where to place them. Drawback is that you have to recompile the kernel.
Didn't know about this option. I don't mind recompiling te kernel so I'm sure to test it out. No partition taken up by swap is a good thing!
If you feel the need for speed, don't forget that you can also get more
from your drives if you'll enable DMA using hdparm. Otherwise, short of
buying more ram, with that lappy there's not much difference you're going
to get no matter where the swap is located.
I have 1GB of ram so I rarely use swap. I have no clue how fast it would be or how to test it. It is the second partition on mine though. I used the swapiness thing to make it not use to much swap too. I can't remember where I put that. It's in /etc somewhere.
swappiness is in /proc/sys/vm/swappiness, you can set it permanently by editing /etc/sysctl.conf, and adding something like:
Code:
vm.swappiness = 20
or whatever you like.
Quote:
Well, I just came back fom town. They are saying gas may go up again so I went and filled up my tanks, again. It is $2.54 a gallon here. It was $3.55 a few weeks ago. Greedy oil companies.
In the UK we are paying about £1 a litre. Which I think works out about $7 a gallon.
As to swap speed, get it on a second drive if you can. Try to put it on a different bus to, so a harddrive on a different IDE cable if possible.
I help a lot of people set up dual booting, & if possible I like following in a 1 drive situation:
hda1: /boot
hda2: Winders (blech!)
hda3: swap
hda5: FAT32 -- Common data
hda6: GNU/Linux
Dual boot w/ 2 drives -- put it on the <choke>Winders</choke> drive.
I was given an ancient (full height) 3G SCSI & I have always wondered if it would be of any use for swap. I suspect it's so old that it isn't very fast by modern standards.
Nope - the real answer is that with modern hardware and kernels it's pointless worrying about it.
If you are swapping that hard, dedicate disks (and paths) solely to swap devices.
If that can't handle it (say you're doing cyclone simulations for NASA), get PCI memory cards and use them.
As I said in the top post, it is a single drive Laptop with a 5400RPM 80GB Hard drive. So putting it on a second drive is not an option, and with only 192MB ram, I don't think going without a swap is an option either.
Stick it wherever you have room - minimum half a gig. Full gig is better.
The kswapd code allocates by segments, and tries to use a segment that "best fits" what you are trying to swap-out. Swap-outs are also delayed (like normal I/O) in an attempt to aggregate the physical I/O.
Swap-ins are more "on demand", but are optimised where possible.
With the other I/O that will also be hitting that disk, just let the VFS layer handle it. It'll be a lot better than any of us will ever be at trying to second guess it.
LinuxQuestions.org is looking for people interested in writing
Editorials, Articles, Reviews, and more. If you'd like to contribute
content, let us know.