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?

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.

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.

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?

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.