Pages: [1] :: one page |
|
Author |
Thread Statistics | Show CCP posts - 0 post(s) |
Mark Hamill
Amarr Galactic Waste Management
|
Posted - 2010.08.17 05:02:00 -
[1]
Edited by: Mark Hamill on 17/08/2010 05:15:02 The MachoNet cache used by the EVE client has been a source of pain and irritation for many players for the 4+ years that I've been around, probably longer. You can still find dozens of old threads telling you how to manually clear your cache. CCP even made it easier by placing a button in the client menu to "Clear all cache files."
Last week, this known issue came to a head with me. I recently upgraded my trade skills to Tycoon level and started running over 230 trades (compared to 30 odd before) which I maintain daily. Combined with a second account running and accessing various character information, I noticed my client performance started to degrade; to the point that if I were to bring up a character's info sheet my clients would freeze for up to 30 seconds each time I did. Market transactions became a test of my patience.
After cursing CCP and blaming their infamous MSSQL setup, I happened to think to check the MachoNet cache, I found over 9,100 files in there that the EVE client was attempting to access PRIOR to downloading information from the server. It was turning my Black Phenom 4 with a fast Samsung drive into a computing relic from the 80's.
I manually cleared out that cache directory and amazingly, my clients stopped freezing. However, the very next day, that directory had bloated back to over 2,000 files and my clients were again showing slowed performance.
Therefore, I decided to FIX what CCP has yet to... I created ECM - EVE Cache Monitor (Yes ECM is meant to have a note of sarcasm). This little program, once configured (which it tries to do automatically) will sit in your taskbar and constantly monitor the EVE cache directory and maintain to a set number of files that you determine, keeping the newest cache files and deleting the oldest ones first.
I have been successfully running it for several days now while having both clients running and thus far, no issues. I can safely say, my client performance has improved drastically and it's staying that way even with me accessing the market hundreds of times a day.
Therefore, I've made it somewhat presentable and make it available for beta testing. You can find more information at www.twistedvoid.com. Please note I did say BETA. It's still very early in development. Furthermore, I suggest you read the instructions on how to install and run it found on the above website (RTFM).
And before you ask... I realize this is a world of rampant cyber-crime so I'll answer these questions ahead of time:
1. No, I will not make it open source. I don't have the time to maintain the questions from both the program and my code. Furthermore, I'm old and lazy. I cut and paste a lot in my code and the LAST thing I want is some teenage genius telling me my code suks. Get over it kid, it works and that's what counts.
2. This is not the first EVE utility I've released and thus far CCP hasn't banned me or sued me or had me thrown in jail (though some of my petitions contain language that probably should get me a suspension). As I've said with all the other programs I've released, if you don't trust it, simply don't use it. You can do the same thing it does with Windows Explorer.
3. It makes NO connections outside your computer and therefore transfers NO information. Again, if you don't trust it, but want to make sure, you're free to fire up a packet sniffer and watch it.
This program is simply a 3rd party patch to a long existing problem with the EVE client that I finally got fed up with. It's existence will continue until CCP decides to FINALLY fix the way their cache works. (/me grumbles about 9,100 cache files).
Feel free to join my in-game public chat channel EVETycoon if you have more questions. EVETycoon Marketing, trading and reprocessing tool. |
Lykouleon
Trust Doesn't Rust Mostly Cookie
|
Posted - 2010.08.17 18:12:00 -
[2]
Edited by: Lykouleon on 17/08/2010 18:17:18
Originally by: Mark Hamill I created ECM - EVE Cache Monitor (Yes ECM is meant to have a note of sarcasm)
downloading now
edit: works fine for me. One thing though; when I run multiple clients, I run them off of multiple EVE installations (I've found this makes the clients respond better). Can/will/is it in the cards that ECM be developed in such a way that multiple client caches can be maintained/pruned?
Quote: Aedun Sole > flying with lyk is like flying a bus filled with 5 year old children
|
Ambo
Mortis Angelus
|
Posted - 2010.08.17 19:31:00 -
[3]
Excellent work.
I couldn't believe it when I heard that the reason for clearing the cache is because it gets too many files in the directory. (for those who don't know, windows starts to spaz out once you have more than a couple of thousand files in the same dir)
We have this same problem at my own workplace and we fixed it by maintaining a hierarchy of sub-directories that each have a file limit of 1000.
tbh it amazes me that CCP have not resolved this yet (admittedly, maybe it's not as simple as it appears, I'm a programmer so I know what it's like ). Great job with coming up with a solution though.
--------------------------------------
|
Jerera
Minmatar
|
Posted - 2010.08.17 21:20:00 -
[4]
Because it's closed-source, Windows-only and seems a bit overkill, I quickly wrote a shell replacement that does the job. If you want to run it periodically just use cron.
#!/bin/sh
# Keep 100 cache files KEEP=100 CURRENT=`ls | wc -l` TO_DELETE=$(( $CURRENT - $KEEP ))
if [ $TO_DELETE -gt 0 ] then echo "$0: deleting $TO_DELETE oldest cache files." rm -f `ls -t | tail -n $TO_DELETE` else echo "$0: nothing to do." fi
Fly safe. But yeah, you are obviously interested in my post because you're now reading my signature.
My English might be choppy - I'm not a native English speaker. |
Mark Hamill
Amarr Galactic Waste Management
|
Posted - 2010.08.17 22:30:00 -
[5]
Originally by: Lykouleon Edited by: Lykouleon on 17/08/2010 18:17:18
Originally by: Mark Hamill I created ECM - EVE Cache Monitor (Yes ECM is meant to have a note of sarcasm)
downloading now
edit: works fine for me. One thing though; when I run multiple clients, I run them off of multiple EVE installations (I've found this makes the clients respond better). Can/will/is it in the cards that ECM be developed in such a way that multiple client caches can be maintained/pruned?
Not planned at all as I (and I assume most people) use one installation (which was probably the source of the cache problems to being with) HOWEVER, at present, ECM places the INI file in the same directory as the ECM.exe file. I didn't add anything in the code to prevent multiple copies running. One thing you could try is to copy the EXE and INI to a new directory, edit "monitordir" setting in the INI of one of them to point to the second client's cache directory and run both copies of ECM. I haven't tried this but as far as I know, as long as they're monitoring two different directories, they shouldn't interfere with each other and I doubt you'd even know they were both running.
Make sure you edit the INI before running the second copy. As you probably noticed, ECM tries to detect which directory the cache is in automatically and it would probably find the same directory it did the first time and you'd have both copies monitoring one directory which may cause bad things to happen.
I will tell you this, since running ECM, two clients on one install run much smoother. You may try testing running two clients at once from the same EXE now and see if this eliminates any problems you had in the past. The only brief lag I get now is when viewing a character's standings and the client can't find a matching cache. And even that is very tolerable as it the client doesn't freeze up, it just takes a few seconds to download all of the agent pictures.
EVETycoon Marketing, trading and reprocessing tool. |
Mark Hamill
Amarr Galactic Waste Management
|
Posted - 2010.08.17 22:43:00 -
[6]
Originally by: Ambo Excellent work.
I couldn't believe it when I heard that the reason for clearing the cache is because it gets too many files in the directory. (for those who don't know, windows starts to spaz out once you have more than a couple of thousand files in the same dir)
We have this same problem at my own workplace and we fixed it by maintaining a hierarchy of sub-directories that each have a file limit of 1000.
tbh it amazes me that CCP have not resolved this yet (admittedly, maybe it's not as simple as it appears, I'm a programmer so I know what it's like ). Great job with coming up with a solution though.
Thanks Ambo, coming from you that's quite a compliment.
EVETycoon Marketing, trading and reprocessing tool. |
Lykouleon
Trust Doesn't Rust Mostly Cookie
|
Posted - 2010.08.18 01:24:00 -
[7]
Edited by: Lykouleon on 18/08/2010 01:25:41
Originally by: Mark Hamill
Originally by: Lykouleon I will tell you this, since running ECM, two clients on one install run much smoother. You may try testing running two clients at once from the same EXE now and see if this eliminates any problems you had in the past. The only brief lag I get now is when viewing a character's standings and the client can't find a matching cache. And even that is very tolerable as it the client doesn't freeze up, it just takes a few seconds to download all of the agent pictures.
The other reason I run two different installs is that one of my monitors is a completely different resolution compared to the other and I got very ****ed at needing to constantly resize them depending on which account was logged in first or secound.
Running two installs of ECM does seem to work without interfering with each other, its just that I can be rather anal-retentive when it comes to having too many things running on my machine at one time.
Quote: Aedun Sole > flying with lyk is like flying a bus filled with 5 year old children
|
Mark Hamill
Amarr Galactic Waste Management
|
Posted - 2010.08.18 03:48:00 -
[8]
Originally by: Lykouleon
Running two installs of ECM does seem to work without interfering with each other, its just that I can be rather anal-retentive when it comes to having too many things running on my machine at one time.
Good to hear, I'll look into multiple directories.
BTW, that's one situation where a psychological abnormality is a VERY GOOD thing. EVETycoon Marketing, trading and reprocessing tool. |
Ambo
Mortis Angelus
|
Posted - 2010.08.18 06:25:00 -
[9]
Originally by: Jerera Because it's closed-source, Windows-only and seems a bit overkill, I quickly wrote a shell replacement that does the job. If you want to run it periodically just use cron.
#!/bin/sh
# Keep 100 cache files KEEP=100 CURRENT=`ls | wc -l` TO_DELETE=$(( $CURRENT - $KEEP ))
if [ $TO_DELETE -gt 0 ] then echo "$0: deleting $TO_DELETE oldest cache files." rm -f `ls -t | tail -n $TO_DELETE` else echo "$0: nothing to do." fi
Fly safe.
I guess this is for linux based systems? I'm surprised that they would even see the issue tbh as I know that the linux systems I've used (not many and very infrequently) do not show the same problem with file limit on directories.
Does anyone know for sure if running on linux shows the same cache slowdown problems as windows? (the character window, market window, etc tacking ages to appear for example)
If so, I wonder if that's an artifact of having to use a windows emulator.
Originally by: Mark Hamill
Originally by: Lykouleon
Running two installs of ECM does seem to work without interfering with each other, its just that I can be rather anal-retentive when it comes to having too many things running on my machine at one time.
Good to hear, I'll look into multiple directories.
BTW, that's one situation where a psychological abnormality is a VERY GOOD thing.
Incidentally, I have exactly the same setup. Two monitors with totally different resolutions and so two totally separate installs.
--------------------------------------
|
Mark Hamill
Amarr Galactic Waste Management
|
Posted - 2010.08.18 06:42:00 -
[10]
Would any of you running multiple installs be able to show me the full path to each cache directory so I get an idea of what I'm looking at? EVETycoon Marketing, trading and reprocessing tool. |
|
Lykouleon
Trust Doesn't Rust Mostly Cookie
|
Posted - 2010.08.18 08:14:00 -
[11]
Originally by: Mark Hamill Would any of you running multiple installs be able to show me the full path to each cache directory so I get an idea of what I'm looking at?
It'd depend on the system and how people do the installs. For example, I'm running Win 7 with both EVE installs on my main HDD, but under a specific foulder I use for game installs. My caches thus look like such:
%LOCALAPPDATA%\CCP\EVE\c_program_files_(x86)_games_ccp_eve_tranquility %LOCALAPPDATA%\CCP\EVE\c_program_files_(x86)_games_ccp_eve2_tranquility
To avoid confusion/stupidity, I have my SISI client on my RAID array, so its cache looks like:
%LOCALAPPDATA%\CCP\EVE\f_program_files_games_ccp_eve_sisi_87.237.38.50
The file paths (relatively) would be the same for those still using Vista. XP users have their cache files stored in
%USERPROFILE%\Local Settings\Application Data\CCP\EVE
Quote: Aedun Sole > flying with lyk is like flying a bus filled with 5 year old children
|
Hel O'Ween
Men On A Mission
|
Posted - 2010.08.18 09:50:00 -
[12]
Originally by: Jerera Because it's closed-source, Windows-only and seems a bit overkill, I quickly wrote a shell replacement that does the job. If you want to run it periodically just use cron.
#!/bin/sh
# Keep 100 cache files KEEP=100 CURRENT=`ls | wc -l` TO_DELETE=$(( $CURRENT - $KEEP ))
if [ $TO_DELETE -gt 0 ] then echo "$0: deleting $TO_DELETE oldest cache files." rm -f `ls -t | tail -n $TO_DELETE` else echo "$0: nothing to do." fi
Here's a Windows Scripting solution. Adjust the path and days as needed. This is meant to be used from a calling procedure (i.e. Sub Main) and returns the number of files delete. Please note that it iterates through each subfolder within the starting folder and deletes files older than <number of days> there, too.
Function DeleteFiles()
Dim objFSO, objFld, objFld1, objSubFlds, objSubFld, objFile, objFiles Dim sStartDir, sTemp Dim lCount, lDays Dim dtmToDate
' *** Adjust the path below sStartDir = "<Drive>:\<FolderInWhichFilesShouldBeDeleted>"
' *** Delete files older than <n> days, adjust as needed lDays = 30 dtmToDate = DateAdd("d", -lDays, Now)
Set objFSO = CreateObject("Scripting.FileSystemObject") Set objFld = objFSO.GetFolder(sStartDir)
lCount = 0
'*** Iterate through all subfolders of the starting folder and delete files there For Each objFld1 In objFld.SubFolders
Set objFiles = objFld1.Files
For Each objFile In objFiles
If objFile.DateLastModified < dtmToDate Then objFile.Delete lCount = lCount +1 End If
Next
Next
'*** And finally iterate through the files in the starting folder Set objFiles = objFld.Files
For Each objFile In objFiles
If objFile.DateLastModified < dtmToDate Then objFile.Delete lCount = lCount +1 End If
Next
DeleteFiles = lCount
End Function
-- EVEWalletAware - an offline wallet manager |
Mark Hamill
Amarr Galactic Waste Management
|
Posted - 2010.08.18 10:49:00 -
[13]
Originally by: Lykouleon XP users have their cache files stored in
%USERPROFILE%\Local Settings\Application Data\CCP\EVE
Then this tells me that ECM may prompt for a manual input on XP machines as it does look for the appdata path. Unfortunately, my xp test box doesn't have an EVE install.
I'll look into making it work for multiple installs but it looks like the windows scripting solution below might be a viable alternative for those running separate installs.
EVETycoon Marketing, trading and reprocessing tool. |
Hel O'Ween
Men On A Mission
|
Posted - 2010.08.18 12:55:00 -
[14]
Originally by: Mark Hamill
Originally by: Lykouleon XP users have their cache files stored in
%USERPROFILE%\Local Settings\Application Data\CCP\EVE
Then this tells me that ECM may prompt for a manual input on XP machines as it does look for the appdata path. Unfortunately, my xp test box doesn't have an EVE install.
I'll look into making it work for multiple installs but it looks like the windows scripting solution below might be a viable alternative for those running separate installs.
Also, if started with the /LUA:OFF parameter, the cache folder resides beneath EVE's installation folder. At least on Windows < Vista. Not sure if that still works under Vista/Win 7.
So, yeah, the option of manually setting the cache folder's location might be a good idea. -- EVEWalletAware - an offline wallet manager |
Tonto Auri
Vhero' Multipurpose Corp
|
Posted - 2010.08.18 13:49:00 -
[15]
Originally by: Hel O'Ween Also, if started with the /LUA:OFF parameter, the cache folder resides beneath EVE's installation folder. At least on Windows < Vista. Not sure if that still works under Vista/Win 7.
Works for any windows with LUA. -- Thanks CCP for cu |
Mark Hamill
Amarr Galactic Waste Management
|
Posted - 2010.08.18 15:40:00 -
[16]
Thanks for the details on the directory locations. ECM initially looks for the appdatadir and if it finds it, it looks for the CCP/EVE subdirectory. If that's found then it begins the automated process of watching for changes to the cache directory. I know on my personal machine there were at least 3 subdirectories from previous installs where these might have gone.
Failing finding those directories, it then prompts for a manual input with a browse feature. However, if it's in a hidden directory like the appdatadir, the browse feature won't see it. I like to think I planned for the possibility that it could be anywhere but until someone tells me they can't get it to find the cache directory, I won't be sure. EVETycoon Marketing, trading and reprocessing tool. |
Mark Hamill
Amarr Galactic Waste Management
|
Posted - 2010.08.18 18:14:00 -
[17]
Take Note:
For those of you running ECM or any of the scripted solutions that have been given in this thread, with today's patch, my MachoNet cache directory changed.
If you're running ECM, start it up and right click on the icon in the taskbar and select reconfigure. Restart it and it should run through the automated configuration process again. If it automatically detected the cache directory on your previous install, it should detect the new cache directory.
If you've manually modified the ECM.INI to run two copies, you'll need to manually determine if and where the new cache directory was created and edit the .ini again.
EVETycoon Marketing, trading and reprocessing tool. |
Lykouleon
Trust Doesn't Rust Mostly Cookie
|
Posted - 2010.08.19 02:14:00 -
[18]
Something I noticed while updating the cache after the patch. When trying to type in a diffrent value for the number of files you want to be kept, the number typed in does not accurately display (aka: I typed in 500, had 100 displayed. Tried typing in 500 again, had 100 displayed.)
Quote: Aedun Sole > flying with lyk is like flying a bus filled with 5 year old children
|
Mark Hamill
Amarr Galactic Waste Management
|
Posted - 2010.08.19 04:30:00 -
[19]
Originally by: Lykouleon Something I noticed while updating the cache after the patch. When trying to type in a diffrent value for the number of files you want to be kept, the number typed in does not accurately display (aka: I typed in 500, had 100 displayed. Tried typing in 500 again, had 100 displayed.)
An undocumented feature.
I put limitations on the box where you type in the number of files to keep since I/we don't yet have a good idea of what the best number of cache files to keep is.
It won't let you enter a number less than 100 or more than 5000. You can either use the spin arrows to the right of that box to adjust the value or, if keep typing in the number you want it will eventually change it. When you type in the five, it adjusts upward to 100, when you enter the next two zeros, it should redisplay to 500.
I just tested to re-confirm. At the risk of plagarizing CCP, "it's working as intended." EVETycoon Marketing, trading and reprocessing tool. |
|
|
|
Pages: [1] :: one page |
First page | Previous page | Next page | Last page |