#!/bin/bash ############################################################ # # Writen 21 July 2011 by Ivan Zolotuhin # # Check open file descriptors and compare with percent of # maximum allowance by kernel # There is default values. So script do not need any args # but you can customize: # -w - warning level in number of FDs # -W - warning level in % to kernel limit (default = 75%) # -c - critical level in number of FDs # -C - critical level in % to kernel limit (default = 90%) # w\W < c\C # # Script uses logic from this page: # http://www.netadmintools.com/art295.html # # # Output of cat /proc/sys/fs/file-nr on differen kernels # 3391 969 52427 # For kernels <= 2.4.X # 2323 0 141241 # For kernels >= 2.6.X # | | | # | | maximum open file descriptors (LIMIT) # | total free allocated file descriptors # total allocated file descriptors # (the number of file descriptors allocated since boot) # # The number of open file descriptors is column 1 - column 2 # In new kernel column 1 - is what we need. # use 1 - 2 for backcompatibility. # # If problems and too much opened files you can increase allowance # echo "104854" > /proc/sys/fs/file-max # ########################################################### USAGE="`basename $0` ([-w]|[-W])([-c]|[-C]