X-Spam-Check-By: sourceware.org From: Dave Silvia To: cygwin general mailing list , Dave Silvia X-Mailer: Barca Pro 2.1 (3650) - Licensed Version Date: Thu, 7 Dec 2006 07:08:20 -0600 Message-ID: <20061277820.556531@privateconcern> Subject: 1.5.21-1 Release: Windows memory resources do not recover. Mime-Version: 1.0 Content-Type: text/plain; charset="iso-8859-1" Mailing-List: contact cygwin-help AT cygwin DOT com; run by ezmlm List-Id: List-Subscribe: List-Archive: List-Post: List-Help: , Sender: cygwin-owner AT cygwin DOT com Mail-Followup-To: cygwin AT cygwin DOT com Delivered-To: mailing list cygwin AT cygwin DOT com Content-Transfer-Encoding: 8bit X-MIME-Autoconverted: from quoted-printable to 8bit by delorie.com id kB7D8Tgk023429 Hi! On further investigation an looking more closely at the areas in the configure script where they errors and/or reboot was occurring, and with some helpful pointers from responders on this list, I've constructed the following bash shell script (exhaustMem.bsh): ---------- #!/bin/sh if [ "$1" == "--help" -o "$1" == "-h" -o "$1" == "/?" ] then echo "Usage: "`basename "$0"`" [mainIter [execIter [varIter]]]" echo "Where: mainIter outermost loop iterations [default: 50]" echo " execIter exec file descriptors iterations [default: \$mainIter]" echo " varIter variable assignment via back tick exec [default: \$mainIter]" echo echo "Description:" echo " Execute while monitoring the Task Manager in Windows selecting the" echo " 'Performance' tab and watching the value in the 'Physical Memory (K)'" echo " table element 'Available'. Value will steadily decrease and never" echo " fully recover after all execution has finished. At least, not in the" echo " short term. And it can lead to depletion to the point where reboot" echo " is necessary or precipitated." echo echo " Command line parameters can be tweaked to examine which seem to affect" echo " the severity of the condition the most." exit 0 fi mainIter=$1 : ${mainIter:=10} mainMax=$mainIter execIter=$2 : ${execIter:=$mainIter} execMax=$execIter varIter=$3 : ${varIter:=$mainIter} varMax=$varIter while [ ${mainIter} -ne 0 ] do mainIter=`expr ${mainIter} - 1` echo "Main Output to File Iteration: " `expr ${mainMax} - ${mainIter}` tmpIter=$execIter while [ ${tmpIter} -ne 0 ] do tmpIter=`expr ${tmpIter} - 1` echo "Exec to Open File Descriptor Iteration: " `expr ${execMax} - ${tmpIter}` exec 5>data5.txt exec 6>data6.txt exec 7>data7.txt done tmpIter=$varIter while [ ${tmpIter} -ne 0 ] do tmpIter=`expr ${tmpIter} - 1` echo "Variable Backtick Exec Assignment Iteration:" `expr ${varMax} - ${tmpIter}` thePath=`echo $PATH` theDir=`pwd` theDate=`date` theMachine=`uname -m` theKernel=`uname -s` theKernRlse=`uname -r` theOpSys=`uname -o` done echo Current Path: >&5 echo $thePath >&5 echo >&5 echo Current Directory: ${theDir} >&5 echo >&5 echo Date and Time: ${theDate} >&5 echo >&5 echo Machine Type: ${theMachine} >&5 echo >&5 echo Kernel Name: ${theKernel} >&5 echo >&5 echo Kernel Release: ${theKernRlse} >&5 echo >&5 echo Operating System: ${theOpSys} >&5 echo >&5 echo Current Path: >&6 echo $thePath >&6 echo >&6 echo Current Directory: ${theDir} >&6 echo >&6 echo Date and Time: ${theDate} >&6 echo >&6 echo Machine Type: ${theMachine} >&6 echo >&6 echo Kernel Name: ${theKernel} >&6 echo >&6 echo Kernel Release: ${theKernRlse} >&6 echo >&6 echo Operating System: ${theOpSys} >&6 echo >&6 echo Current Path: >&7 echo $thePath >&7 echo >&7 echo Current Directory: ${theDir} >&7 echo >&7 echo Date and Time: ${theDate} >&7 echo >&7 echo Machine Type: ${theMachine} >&7 echo >&7 echo Kernel Name: ${theKernel} >&7 echo >&7 echo Kernel Release: ${theKernRlse} >&7 echo >&7 echo Operating System: ${theOpSys} >&7 echo >&7 done exit 0 ---------- It pretty well illustrates the problem. It also points to it's being a problem between Windows (mine is XP Pro SP2) and bash.exe. Possibly the particular build Cygwin uses (?). Anyway, it does appear to be an exec error from one source or another (backtick execution being another form of exec). The severity also seems related to what is being exec'd more so than how long the exec takes or how large. If you open Windows Task Manager and monitor the Physical Memory, it's pretty easy to see. Use exhaustMem.bsh --help to see details. thx, Dave S. wxMS_developers · Development with wxWidgets on MSWindows http://tech.groups.yahoo.com/group/wxMS_developers/ wxWidgets Code Exchange http://wxcodex.net/ -- Unsubscribe info: http://cygwin.com/ml/#unsubscribe-simple Problem reports: http://cygwin.com/problems.html Documentation: http://cygwin.com/docs.html FAQ: http://cygwin.com/faq/