我已经阅读了几篇关于如何使用外部应用程序清除缓存的帖子here和here。
我想运行性能基准测试,并希望在每次运行之前清除操作文件系统缓存。我正在使用Java编写带有许多参数的程序,我需要一种自动执行此操作的方法,即以Java编程。
有什么建议吗?
答案 0 :(得分:1)
您可以使用批处理文件清除缓存并在java中调用该批处理文件。
这是在java中调用批处理文件的命令:more here
Runtime.getRuntime().exec("cmd /c start clearCache.bat");
此批处理文件将清除java cache
中的所有windows
。只需在java代码中调用此批处理文件即可执行
@Echo Off
echo =========================
echo Now clearing all users Java cache folder
set "docandset=%homedrive%\users"
>> c:\Delete.log echo/ "Java\Deployment\cache\6.0\"
for /f "delims=" %%a in ('dir "%docandset%" /ad /b') do (
for %%b in (
"%docandset%\%%a\AppData\LocalLow\Sun\Java\Deployment\cache\6.0"
) do (
echo %%b >> c:\Delete.log
cd /d %%b >> c:\Delete.log 2>&1
rd /s /q %%b >> c:\Delete.log 2>&1
del /f /s /q %%b >> c:\Delete.log 2>&1
)
)
echo =========================
echo COMPLETE!!!!
echo =========================
echo All users Java cache folder has been cleared.
PAUSE
在此处找到:http://community.spiceworks.com/scripts/show/1928-clear-all-users-java-cache
你也可以检查一下,清除windows临时文件:Batch delete temporary Windows files (system, browsers, cache, etc) for all users