Sign in to follow this  
Followers 0
Greenseed

Overheat

15 posts in this topic

hi everyone!

ok.... this is my project!

i wan to make a script named Overheat! to test computer on many days!

my script will write very big file! and move this file! and check this file for error! for that i have no probleme!

where i got maybe a probleme! it to make same thing but with memory file or something!

i need to use all available memory! and check is what i put to memory it same after and before!

when the computer got 128Meg Ram! this is np! but when he got 1gig and more!

autoit will be able even if it comming very slow! to read a variable of 1Gig or maybe 500Meg and put 2 variable in memory!

i think my question is about limit in autoit!

thx in advance!

bye bye!


GreenseedMCSE+I, CCNA, A+Canada, QuebecMake Love Around You.

Share this post


Link to post
Share on other sites



??? i need to use all available memory! ????

bye bye!


NEWHeader1.png

Share this post


Link to post
Share on other sites

From the help file:

Maximum length of a single script line: 4,095

Maximum string length: 2,147,483,647 characters

Number range (floating point): 1.7E308 to 1.7E+308 with 15-digit precision

Number range (integers): 64-bit signed integer

Hexadecimal numbers: 32-bit signed integer (0x80000000 to 0x7FFFFFFF)

Arrays: A maximum of 64 dimensions and/or a total of 16 million elements

Maximum depth of recursive function calls: 384 levels

Simultaneous open files: 64

Simultaneous active HotKeys: 64

Maximum number of variables in use at one time: No limit

Maximum number of user defined functions: No limit

Maximum number of GUI windows: 1024

Maximum number of GUI controls per window: 4096

I'm going to guess that performing a RAM test while the Windows OS, various drivers and AutoIt is loaded into that same RAM would be impratical if not impossible.

have fun...

hi everyone!

ok.... this is my project!

i wan to make a script named Overheat! to test computer on many days!

my script will write very big file! and move this file! and check this file for error! for that i have no probleme!

where i got maybe a probleme! it to make same thing but with memory file or something!

i need to use all available memory! and check is what i put to memory it same after and before!

when the computer got 128Meg Ram! this is np! but when he got 1gig and more!

autoit will be able even if it comming very slow! to read a variable of 1Gig or maybe 500Meg and put 2 variable in memory!

i think my question is about limit in autoit!

thx in advance!

bye bye!


[size="1"][font="Arial"].[u].[/u][/font][/size]

Share this post


Link to post
Share on other sites

if im right the bigges variable is about 2Gig ?


GreenseedMCSE+I, CCNA, A+Canada, QuebecMake Love Around You.

Share this post


Link to post
Share on other sites

when i do this to create a big variable! my CPU is used at 100% nice! but me memory is still free!

autoit take 24meg of memory! with this line

Global $mFile = "JFKHGSDF894732958UR9825N4YU98*&(^&*^&*^*&b yIUFIUODH8H6786876786";Dummy

While $jamMemory < 800000000
    $jamMemory=$mFile&$jamMemory
WEnd

what wrong! something i don't understand!


GreenseedMCSE+I, CCNA, A+Canada, QuebecMake Love Around You.

Share this post


Link to post
Share on other sites

#6 ·  Posted (edited)

if im right the bigges variable is about 2Gig ?

What I failed to quote from the help file is this part:

15. What are the current technical limits of AutoIt v3?

Here are details of the current technical limits of AutoIt. Please note that some of the limits are theoretical and you may run into performance or memory related problems before you reach the actual limit.

This is from the FAQ.

Open your task manager, go to the "Performance" tab and run this script:

$test = "a"
For $i = 1 to 2147483650
    $test = $test & $test
Next
My guess is that your system will soon slow to a crawl long before AutoIt gives you an error about $test being too big. (Or maybe I designed the test wrong.)

EDIT: I diiiid, I diiiid design the test wrong.

(pathetic attempt to sound like tweety bird)

$test = "a"
For $i = 1 to 2147483650
    $test = $test & "a"
Next
Edited by herewasplato

[size="1"][font="Arial"].[u].[/u][/font][/size]

Share this post


Link to post
Share on other sites

This line of your code:

While $jamMemory < 800000000
is not comparing the number of characters inside the variable named $jamMemory


[size="1"][font="Arial"].[u].[/u][/font][/size]

Share this post


Link to post
Share on other sites

ok i got it! thx everyone!

i forgot! the jammemory=mfile&jammory&jammory

after 20 seconde autoit quit with error unable to assing memory!

and all my 1Gig of memory was used! hehe :P

pretty kewl!

i know for the stringlen i forgot! hehe!

thx everyone!

everthing is working like i wan!

i will implement a memory check to not exced limit of the system!

and for the hdd test... lol

my hdd is hurt! lol


GreenseedMCSE+I, CCNA, A+Canada, QuebecMake Love Around You.

Share this post


Link to post
Share on other sites

#9 ·  Posted (edited)

hehe! me again! ok i've come with something! no gui implementation! juste suck system and check a little for error if create a log file! then continue! until you stop it! with the icon!

he is able to take a lot of memory!

i have some strange beviator! when im working with a 100meg variable then i switch to 10meg variable! and everything work fine!

Opt("CaretCoordMode", 1)       ;1=absolute, 0=relative
Opt("ColorMode", 0)         ;0 = Colors are defined as RGB 1 = Colors are defined as BGR (0xBBGGRR)
Opt("ExpandEnvStrings", 0)   ;0=don't expand, 1=do expand
Opt("ExpandVarStrings", 0)  ;Changes how literal strings and variable/macro ($ and @) symbols are interpreted 0=Default
Opt("FtpBinaryMode" , 1)    ;Binary=1 AscII=0
Opt("GUICloseOnESC", 0)     ; 0=Default
Opt("GUICoordMode",1)       ; 0=relative to CTRL 1=absolute To Box(default) 2= Cell Positioning
Opt("GUIDataSeparatorChar","|"); default "|"
Opt("GUIOnEventMode",0)     ;Default =0
Opt("GUIResizeMode",0)      ;Default=0 See Resize mode
Opt("GUIEventCompatibilityMode",0); default=0  1= Absolute 2=Client Area
Opt("MouseClickDelay", 10)   ;10 milliseconds
Opt("MouseClickDownDelay", 10) ;10 milliseconds
Opt("MouseClickDragDelay", 250);250 milliseconds
Opt("MouseCoordMode",0)     ;Default=0
Opt("MustDeclareVars", 0)     ;0=no, 1=require pre-declare
Opt("OnExitFunc","OnAutoItExit");Default=OnAutoItExit
Opt("PixelCoordMode", 1)       ;1=absolute, 0=relative
Opt("RunErrorsFatal", 0)       ;1=fatal, 0=silent set @error
Opt("SendAttachMode", 0)       ;0=don't attach, 1=do attach
Opt("SendCapslockMode", 1)   ;1=store and restore, 0=don't
Opt("SendKeyDelay", 8)       ;5 milliseconds
Opt("SendKeyDownDelay", 1)   ;1 millisecond
Opt("TCPTimeout",100)       ;Default=100
Opt("TrayAutoPause",0)      ;Default=1
Opt("TrayIconDebug", 0)     ;0=no info, 1=debug line info
Opt("TrayIconHide", 0)       ;0=show, 1=hide tray icon
Opt("TrayMenuMode",0)       ;2=User 1=Disable
Opt("TrayOnEventMode",0)    ;Default=0
Opt("WinDetectHiddenText", 0)  ;0=don't detect, 1=do detect
Opt("WinSearchChildren", 1) ;0=no, 1=search children also
Opt("WinTextMatchMode",1)   ;Default=1 2=modeFast
Opt("WintitleMatchMode", 1) ;1=start, 2=subStr, 3=exact, 4=...
Opt("WinWaitDelay", 250)       ;250 milliseconds



Global $y
Global $hddFile = "OverHeat"
Global $mFile = "dummytext"
Global $jamMemory =$mFile
Global $ErrorMem
Global $ErrorHDD
Global $FreeSpace
$VOLUME=DriveGetDrive ( "FIXED" )
AdlibEnable ( "heatmem" , 60000 )





Do
    $jammemory=$jammemory&$jammemory
Until StringLen($jamMemory) >= 10240000

While 1
    HeatHDD()
    if $ErrorHDD > 0 Or $ErrorMem > 0 Then
        $hddFileHandle=FileOpen(@ScriptDir&"\Error.log",1)
        FileWrite($hddFileHandle,"Nombre ErrorMem="&$ErrorMEM&@CRLF&"Nombre ErrorHDD="&$ErrorHdd&@CRLF&"--------------Loop----------------")
        if @error Then MsgBox(0,"OverHeat", "Unable to Write Log",10)
        FileClose($hddFileHandle) 
    EndIf
WEnd
    
Func HeatMem()
    Local $x
    Dim $Dummy[Round((mem(1)*60),0)]
    For $x = 0 To UBound($Dummy)-1
        $Dummy[$x] = $jammemory 
        $a=$Dummy[$x]
        $Dummy[$x]=""
        $b=$a
        $a=""
        $c=$b
        $b=""
        $Dummy[$x]=$c
        $c=""
        if $Dummy[$x]<>$jammemory Then $ErrorMem = $ErrorMem + 1
    Next
EndFunc

Func HeatHDD()
    Local $xx
    For $y = 1 to ($VOLUME[0])
        DirCreate($VOLUME[$y]&"\HddHeat")
        $FreeSpace=Round(DriveSpaceFree($VOLUME[$y])/1000)
        For $xx = 1 to ($freespace*1000)
            $hddFileHandle=FileOpen($VOLUME[$y]&"\HddHeat\"&$hddfile&$xx&".dump",2)
            FileWrite($hddFileHandle,$jamMemory)
            if @error Then MsgBox(0,"OverHeat", "FileWrite Error",10)
            FileClose($hddFileHandle) 
            if Round(DriveSpaceFree($VOLUME[$y])/100) < 10 Then ExitLoop
        Next
        For $xx = 1 to ($freespace*1000)
            $hddFileHandle=FileOpen($VOLUME[$y]&"\HddHeat\"&$hddfile&$xx&".dump",1)
            if FileRead($hddFileHandle)<>$jamMemory then $ErrorHDD = $ErrorHdd+1
            FileClose($hddFileHandle) 
        Next            
        For $xx = 1 to ($freespace*1000)
            if not FileDelete($VOLUME[$y]&"\HddHeat\"&$hddfile&$xx&".dump") then ExitLoop
        Next    
Next
EndFunc

Func OnAutoItExit()
    Local $xx=""
    For $xx = 1 to ($freespace*1000)
        FileDelete($VOLUME[$y]&"\HddHeat\"&$hddfile&$xx&".dump")
    Next
    if $ErrorHDD > 0 Or $ErrorMem > 0 Then
        $hddFileHandle=FileOpen(@ScriptDir&"\Error.log",1)
        FileWrite($hddFileHandle,"Nombre ErrorMem="&$ErrorMEM&@CRLF&"Nombre ErrorHDD="&$ErrorHdd&@CRLF&"--------------Loop----------------")
        if @error Then MsgBox(0,"OverHeat", "Unable to Write Log",10)
        FileClose($hddFileHandle) 
    EndIf           
EndFunc
    
Func mem($memoption=0)
    $mem = MemGetStats( )
    Select
    Case $memoption = 0
        Return $mem[0]
    Case $memoption = 1
        Return Round($mem[1]/1000000,1)
    Case $memoption = 2
        Return Round($mem[2]/1000000,1)
    Case $memoption = 3
        Return Round($mem[3]/1000000,1)
    Case $memoption = 4
        Return Round($mem[4]/1000000,1)
    Case $memoption = 5
        Return Round($mem[5]/1000000,1)
    Case $memoption = 6
        Return Round($mem[6]/1000000,1)
    EndSelect
EndFunc

bye bye

Edited by Greenseed

GreenseedMCSE+I, CCNA, A+Canada, QuebecMake Love Around You.

Share this post


Link to post
Share on other sites

Ok, I might be a noob, but there is no way I'd run a file with that kind of Global $mFile value. It looks way to similar to some of the nasty crap I get in my email inbox. Correct me if I'm wrong, but couldn't that string just as easily contain the binary equivalent of the 'format c command' (not saying it does) or doesn't AutoIt process it like that?

This is a query btw, not doubting your code in anyway.

Share this post


Link to post
Share on other sites

#11 ·  Posted (edited)

hi PartyPooper! my code don't hide anything! i do it! only to test new server at my work before i install it!

the script will run on the server for 1 week if nothing crash! then the server will be install!

and the string in $mfile can be what you wanna! just delete it! and put!

$mFile="IamaCow"

the script will do the job!

the $mFile Value come from my encoder!

and i don't think it possible! what you say! if im going to do something wrong with a script and you can see the source! you will see what i'm going!

look at the function who use this variable! you will see nothing wrong!

and the last thing! i wanna say! is Making something to hurt someone computer with Autoit is really Bad!

because if your script is really good and spread on the planet! then autoit will be know as a virus or something like this! Is why i discourage anyone to do script for bad thing!

Autoit! it use to, Make computer Fly! hehe :P

bye bye!

Edited by Greenseed

GreenseedMCSE+I, CCNA, A+Canada, QuebecMake Love Around You.

Share this post


Link to post
Share on other sites

#12 ·  Posted (edited)

i have some strange beviator! when im working with a 100meg variable...

Yes, you do have some strange behavior :-)

What part of your code are you using to generate a 100 Meg variable, this part?

Do
    $jammemory=$jammemory&$jammemory
Until StringLen($jamMemory) >= 102400000

Assume that $jammemory = "a" and then feed it into that loop and I think that you will get:

$jammemory = "aa"

$jammemory = "aaaa"

$jammemory = "aaaaaaaa"

$jammemory = "aaaaaaaaaaaaaaaa"

I think that you wanted:

$jammemory = "aa"

$jammemory = "aaa"

$jammemory = "aaaa"

$jammemory = "aaaaa"

...so that you could sneek up on a string lenght greater than or equal to 102400000 with a little more precision. See the "tweety bird" part of one of my previous posts in this thread.

Also, please edit your code in your previous post and use

Global $mFile="a"

...instead of that garbage that you made me download and scroll thru...

Some of us get stuck using dialup internet access at times.

Disclaimer: Just because I post to this thread does not mean that I think that this is a sane script.

Edited by herewasplato

[size="1"][font="Arial"].[u].[/u][/font][/size]

Share this post


Link to post
Share on other sites

thx for the comment and sorry for the garbage! i've not realize!

and not i do not need presision just speed!

it why it is like this!

and this script serve me nice! because after 3 day continious running on a brand new server! i got some weird error! many error! then the server have not passed the test! he is going to the cosmetic reject will all my aprobation hehe!

this version posted this up got some error then i have updated the code with my new one!


GreenseedMCSE+I, CCNA, A+Canada, QuebecMake Love Around You.

Share this post


Link to post
Share on other sites

Perhaps my program MemStat might somehow come in handy. Is located in my Fileman. :P

Cheers,

AutoIt Smith

Share this post


Link to post
Share on other sites

you see i get variable for memstats! hehe

yes i was thinking about implement this! but there is no monitor ont the server when this script run!

i only check a little with remote connection! for error or is server crash!

but thx!


GreenseedMCSE+I, CCNA, A+Canada, QuebecMake Love Around You.

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!


Register a new account

Sign in

Already have an account? Sign in here.


Sign In Now
Sign in to follow this  
Followers 0