Failed to query Postfix config command to get the

5 posts / 0 new
Last post
#1 Sun, 09/16/2007 - 05:34
CrankyCronos

Failed to query Postfix config command to get the

Failed to query Postfix config command to get the current value of parameter process_id_directory

File involved: Cron <root@$HOSTNAME> /etc/webmin/virtual-server/collectinfo.pl

Postfix is up and running because it sent this report. What would it be looking for anyway?

Sun, 09/16/2007 - 22:02
Joe
Joe's picture

This is, in every instance I've ever seen, a memory allocation problem (i.e. you're short of memory on the system). Usually, maybe always, it's a Virtuozzo or OpenVZ virtualized system--this kernel layer has a long-time memory allocation bug that they seem incapable of fixing.

But, just in case it is something else, try running this command:

postconf process_id_directory

See what happens...if it's an error, then that's what needs to be solved. If it works, then it's almost certainly an intermittent memory allocation failure.

--

Check out the forum guidelines!

Mon, 09/17/2007 - 02:07
CrankyCronos

process_id_directory = pid was the response. So it worked.

# free
total used free shared buffers cached
Mem: 1035160 728092 307068 0 154348 391864
-/+ buffers/cache: 181880 853280
Swap: 2096472 0 2096472

cat /etc/sysctl.conf

# Kernel sysctl configuration file for Red Hat Linux
#
# For binary values, 0 is disabled, 1 is enabled. See sysctl(8) and
# sysctl.conf(5) for more details.

# Controls the System Request debugging functionality of the kernel
kernel.sysrq = 0

# Controls whether core dumps will append the PID to the core filename.
# Useful for debugging multi-threaded applications.
kernel.core_uses_pid = 1

#Prevent SYN attack
net.ipv4.tcp_syncookies = 1
net.ipv4.tcp_max_syn_backlog = 2048
net.ipv4.tcp_synack_retries = 2

# Disables packet forwarding
net.ipv4.ip_forward=0

# Disables IP source routing
net.ipv4.conf.all.accept_source_route = 0
net.ipv4.conf.lo.accept_source_route = 0
net.ipv4.conf.eth0.accept_source_route = 0
net.ipv4.conf.default.accept_source_route = 0

# Enable IP spoofing protection, turn on source route verification
net.ipv4.conf.all.rp_filter = 1
net.ipv4.conf.lo.rp_filter = 1
net.ipv4.conf.eth0.rp_filter = 1
net.ipv4.conf.default.rp_filter = 1

# Disable ICMP Redirect Acceptance
net.ipv4.conf.all.accept_redirects = 0
net.ipv4.conf.lo.accept_redirects = 0
net.ipv4.conf.eth0.accept_redirects = 0
net.ipv4.conf.default.accept_redirects = 0

# Enable Log Spoofed Packets, Source Routed Packets, Redirect Packets
net.ipv4.conf.all.log_martians = 1
net.ipv4.conf.lo.log_martians = 1
net.ipv4.conf.eth0.log_martians = 1

# Disables the magic-sysrq key
kernel.sysrq = 0

# Decrease the time default value for tcp_fin_timeout connection
net.ipv4.tcp_fin_timeout = 15

# Decrease the time default value for tcp_keepalive_time connection
net.ipv4.tcp_keepalive_time = 1800

# Turn off the tcp_window_scaling
net.ipv4.tcp_window_scaling = 0

# Turn off the tcp_sack
net.ipv4.tcp_sack = 0

# Turn off the tcp_timestamps
net.ipv4.tcp_timestamps = 0

# Enable ignoring broadcasts request
net.ipv4.icmp_echo_ignore_broadcasts = 1

# Enable bad error message Protection
net.ipv4.icmp_ignore_bogus_error_responses = 1

# Set maximum amount of memory allocated to shm to 256MB
kernel.shmmax = 268435456

# Improve file system performance
# vm.bdflush = 100 1200 128 512 15 5000 500 1884 2

# Improve virtual memory performance
# vm.buffermem = 90 10 60

# Increase the maximum total TCP buffer-space allocatable
net.ipv4.tcp_mem = 3129344 3137536 3145728

# Increase the maximum TCP write-buffer-space allocatable
net.ipv4.tcp_wmem = 65536 1398080 2796160

# Increase the maximum TCP read-buffer space allocatable
net.ipv4.tcp_rmem = 65536 1398080 2796160

# Increase the maximum and default receive socket buffer size
net.core.rmem_max = 2097136
net.core.rmem_default = 1048560

# Increase the maximum and default send socket buffer size
net.core.wmem_max = 2097136
net.core.wmem_default = 1048560

# Increase the tcp-time-wait buckets pool size
net.ipv4.tcp_max_tw_buckets = 1440000

# Allowed local port range
net.ipv4.ip_local_port_range = 16384 65536

# Increase the maximum memory used to reassemble IP fragments
net.ipv4.ipfrag_high_thresh = 512000
net.ipv4.ipfrag_low_thresh = 446464

# Increase the maximum amount of option memory buffers
net.core.optmem_max = 163840

# Increase the maximum number of skb-heads to be cached
# net.core.hot_list_length = 1024

# System limit
fs.file-max = 65000

These settings were usually more than enough to handle most application. I am open to suggestions.

Joseph Dobransky

Mon, 09/17/2007 - 07:38 (Reply to #3)
Joe
Joe's picture

Looks like you have plenty of memory. So it shouldn't be due to allocation errors (unless this is a Virtuozzo or OpenVZ instance, which as I mentioned, has a serious allocator bug that's been around for a year or two).

Might be worth checking /var/log/messages, the kernel log (with dmesg), and the maillog for any clues about why postconf fails intermittently.

Beyond that, I'm kind of stumped. Actually, we haven't established whether this is actually intermittent. Do you get this error every five minutes (every time collectinfo runs) or just every once in a while?

--

Check out the forum guidelines!

Mon, 09/17/2007 - 12:20 (Reply to #4)
CrankyCronos

I saw it only the once during /etc/cron.weekly and it might have just been bad timing as far as log rotations, etc. I will look for it to see if it happens again this Sun.

Joseph Dobransky

Topic locked