On Tue, May 09, 2000 at 04:02:39PM -0400, Brad Johnson wrote:
> Hi; I'm running qmail on freebsd on a HP Vectra with 64megs of RAM
> and running into what I'm sure is a stupid and avoidable problem.
[snip scary stuff]
>
>
> Filesystem 1K-blocks Used Avail Capacity iused ifree %iused
> Mounted on
> /dev/wd0s1a 297663 80875 192975 30% 1043 73835 1% /
> /dev/wd0s1f 1599187 404570 1066683 27% 65823 335647 16% /usr
> /dev/wd0s1e 396895 121201 243943 33% 99832 6 100% /var
> procfs 4 4 0 100% 28 504 5%
> /proc
>
>
> This is what I suspect I need to do.
> 1) Add more memory to the box.
> I know how to do this.
This is a good idea, but completely unrelated to this problem.
> 2) Get qmail working concurrently.
> I know how to do this: qmail FAQ 8.1
It works concurrently already. This too won't help fixing this problem.
> 3) Set an inode limit on qmailq (??)
> I don't know if I should do this and I don't know how to do this.
No, you shouldn't. It's running out of inodes already.
> 4) Fix the filesystem somehow.
> Something like increasing the # of available inodes, partitioning?
This is the problem, yes. You seem to have one inode per 4kbyte of
diskspace. This should always be sufficient.
Something is eating lots of inodes on your disk. This might just be the
qmail queue.
Hmm this is problematic. I just realized that for a disk to run out of
space before it runs out of inodes with qmail you need 1 inode per 1k.
Yes, you need more inodes. Is there some other server that _can_ handle
these kinds of loads, that you can relay to? Try getting rid of as much of
these messages (put ":relayhost.dom.com" in /var/qmail/control/smtproutes
and -HUP qmail-send), and when your queue is empty, re-create it with
1inode per kbyte.
> I don't know how to do this. I know this is semi-off-topic.
man newfs should help you. Note that your whole /var is on that partition,
so backup everything before you do.
> 5) do the the "Patches for high-volume servers"
> http://qmail.org/top.html#large
> I'm not sure if this would be necessary. Maybe 1-4 (or something else?)
> would be sufficient.
And this is another one that is not related to the problem.
All your thoughts except nr. 3 are good thoughts, but only 4 fixes this
problem.
Greetz, Peter.
--
Peter van Dijk - student/sysadmin/ircoper/madly in love/pretending coder
|
| 'C makes it easy to shoot yourself in the foot;
| C++ makes it harder, but when you do it blows your whole leg off.'
| Bjarne Stroustrup, Inventor of C++