This is the mail archive of the cygwin mailing list for the Cygwin project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

1.5.21-1 Release: Windows memory resources do not recover.


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/


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]