Tips for supporting Greenplum on the Linux OS
Post date: Oct 05, 2012 10:54:13 PM
File system and OS Diagnostics
Quick background on the Linux file system:
Ext2 is the default and longest-running Linux file system.
The main advantage of this file system is its speed. It is used as a benchmark against other file systems.
Ext2 is not a journaled file system. If the OS crashes, then consistency checks must be made.
Ext3 is a seamless add-on to the Ext2 file system. It adds journaling and typically a crash recovery happens instantly from journal replay.
Ext2 and Ext3 do not include snapshot ability.
Tools for Checking OS and Hardware Configuration
uname –a and cat /etc/redhat-release
dmesg – kernel messages (related to disk failures and memory)
cat /proc/meminfo /proc/cpuinfo /proc/swaps
ldd <binary> - show shared object deps (use example)
/etc/ld.so.conf or /etc/ld.so.d/*, LD_LIBRARY_PATH
mount – find remote or NFS mounts against df table
Tuning OS Parameters
chkconfig –list shows the Linux services configuration
To turn on statistics gathering facility use: chkconfig –level 12345 psacct on
sa and ac are tools for reading the statistics.
ipcs –l and ipcs –a for semaphore use
Semaphores are used for interprocess communication. It is so important to Greenplum’s interconnect because it allows the threads to communicate in shared memory. When segment hosts or count is increased, this shared memory allocation must be expanded.
lsmod – modules associated with the firewall – ip_*
/etc/sysctl.conf and running kernel config in /proc/sys/kernel/*
ps –ef is used on system V arch. ps auxw is equiv for bsd-based systems including Linux
Solaris does not wrap its ps output properly. This can be fixed by piping the output to the fold command.
gstack, pstack –p, strace
Prepare a core dump – read ulimit –a and then set core size with ulimit –c
Generate a core file by sending kill -11 to a process.
tcpdump (root) tracing a TCP connection stream