tomcat緩存
⑴ 怎樣清空Tomcat容器緩存
用tomcat容器,大家可能會發現這樣的問題,修改jsp文件後,但用IE打開 依然是以前的Jsp的頁面。
出現這種現象的原因主要是tomcat緩存的原因。
解決辦法如下:
在jsp文件頭加上
<meta http-equiv="Expires" content="0"
<meta http-equiv="kiben" content="no-cache"
其中,第一行的content="0",是表示過期的時間,如果不是0的話,就必須使用GMT的時間格式。第二行表示不用緩存機制。
刪除work目錄下的緩存文件。
conf/server.xml 文件Context path 中間加上 reloadable="true"
例如:<Context path="" docBase="E:\MYJSP\" debug="0" reloadable="true" /
在tomcat的startup.bat里首部加上批處理命令
rd/s/q "D:\Program Files\tomcat-6.0\work\Catalina
tomcat路徑根據自己情況修改.
這樣基本可以解決緩存遺留問題。
==========================================
方法1、再當前瀏覽器,工具里清空一下上網記錄(如果你的cookie沒那麼重要的話,全部選中,清空)。重新打開一個IE瀏覽器,再打上網址,回車。
如果還不行方法2、重啟tomcat,但是太費時間,有時還不管用。。
方法3、Apache Software Foundation\Tomcat 5.5\work\Catalina\localhost
有一些發布程序的時候編譯的jsp的java類,可都清空該文件夾,也可以只刪除跟當前項目相關的類。
方法3,最直接。。。徹底
不過我常用方法1。方法3,要翻那麼多文件夾,我會在方法1實在還是不可以的話。才用方法3
=========================================方法一:conf/server.xml文件
Context path中間加上reloadable="true"
例如:<Context path="" docBase="" reloadable="true"方法二:刪除work目錄下的緩存文件
可以把Catalina目錄刪除; 注意:不能把work整個目錄刪除,不然重啟tomcat時,會把conf/web.xml刪除掉,這樣在啟動時,日誌會提示:No Default web.xml,且訪問頁面會顯示404錯誤;
⑵ Tomcat伺服器如何清理緩存
打開tomcat服務安裝目錄,可以看到所有的相關文件目錄
⑶ 清理tomcat緩存,刪除work/catalina 下的所有東西,需要重啟tomcat嗎
需要
work下的目錄結構正常如下圖,loader文件夾中是class文件以及一些配置文件,org下面是用於展示的頁面
文件夾loader下面的東西是不能刪除的,如果刪除了就必須得重啟
文件夾org下面的東西,刪除了之後,會重新生成
⑷ tomcat的jsp緩存和java內存機制求教
TOMCAT剛重啟,內存很好,用JCONSOLE看也很好,但是經過一天2個訪問峰後,第一台機器(負載較為厲害的)內存達到2.5G,linux TOP後查看,JAVA佔用3.5G(當然這個數字不是最准確的),堆內存為2.2,OLD代已經滿了,OLD代GC不動,NEW代內存在浮動,然後過不長時間內存就爆HEAP內存溢出了。
後來,我用JMAP把內存打成DUMP,下到我本地,用JAVA內存分析器看,內存泄露報告顯示,泄漏的內存全為:JSPSERVLET。因為我伺服器JSP文件很多,所以報這個問題,我也理解。但是我很郁悶的是,我找不到如果配置TOMCAT清理JSP緩存的方法,我的SESSION為15分鍾。
或者還可能有其他的關於內存的問題,我不知道,也正在查,不知道各位高手能不能從我的只言片語中看出我的伺服器大概存在什麼問題。
我現在主要疑問是,如何才能控制TOMCAT清理JSP緩存。
⑸ 如何清理tomcat伺服器緩存
首先,關閉運營環境;其次,要看之前設置的緩存路徑在什麼地方,根據路徑進入文件就可以刪除緩存。最後,重新開啟運營環境。
⑹ 怎樣調節tomcat緩存大小
Tomcat有很多方面,我從內存、並發、緩存四個方面介紹優化方法。
一.Tomcat內存優化
Tomcat內存優化主要是對 tomcat 啟動參數優化,我們可以在 tomcat 的啟動腳本 catalina.sh 中設置 JAVA_OPTS 參數。
JAVA_OPTS參數說明
-server 啟用jdk 的 server 版;
-Xms java虛擬機初始化時的最小內存;
-Xmx java虛擬機可使用的最大內存;
-XX:PermSize 內存永久保留區域
-XX:MaxPermSize 內存最大永久保留區域
伺服器參數配置
現公司伺服器內存一般都可以加到最大2G ,所以可以採取以下配置:
JAVA_OPTS='-Xms1024m -Xmx2048m -XX:PermSize=256M -XX:MaxNewSize=256m -XX:MaxPermSize=256m'
配置完成後可重啟Tomcat ,通過以下命令進行查看配置是否生效:
首先查看Tomcat 進程號:
sudo lsof -i:9027
我們可以看到Tomcat 進程號是 12222 。
查看是否配置生效:
sudo jmap – heap 12222
我們可以看到MaxHeapSize 等參數已經生效。、
二.Tomcat並發優化
1.Tomcat連接相關參數
在Tomcat 配置文件 server.xml 中的 <Connector ... /> 配置中
1>參數說明
minProcessors:最小空閑連接線程數,用於提高系統處理性能,默認值為 10
maxProcessors:最大連接線程數,即:並發處理的最大請求數,默認值為 75
acceptCount:允許的最大連接數,應大於等於 maxProcessors ,默認值為 100
enableLookups:是否反查域名,取值為: true 或 false 。為了提高處理能力,應設置為 false
connectionTimeout:網路連接超時,單位:毫秒。設置為 0 表示永不超時,這樣設置有隱患的。通常可設置為30000 毫秒。
其中和最大連接數相關的參數為maxProcessors 和 acceptCount 。如果要加大並發連接數,應同時加大這兩個參數。
web server允許的最大連接數還受制於操作系統的內核參數設置,通常 Windows 是 2000 個左右, Linux 是 1000 個左右。
2>Tomcat中的配置示例
<Connector port="9027"
protocol="HTTP/1.1"
maxHttpHeaderSize="8192"
minProcessors="100"
maxProcessors="1000"
acceptCount="1000"
redirectPort="8443"
disableUploadTimeout="true"/>
2.調整連接器connector的並發處理能力
1>參數說明
maxThreads 客戶請求最大線程數
minSpareThreads Tomcat初始化時創建的 socket 線程數
maxSpareThreads Tomcat連接器的最大空閑 socket 線程數
enableLookups 若設為true, 則支持域名解析,可把 ip 地址解析為主機名
redirectPort 在需要基於安全通道的場合,把客戶請求轉發到基於SSL 的 redirectPort 埠
acceptAccount 監聽埠隊列最大數,滿了之後客戶請求會被拒絕(不能小於maxSpareThreads )
connectionTimeout 連接超時
minProcessors 伺服器創建時的最小處理線程數
maxProcessors 伺服器同時最大處理線程數
URIEncoding URL統一編碼
2>Tomcat中的配置示例
<Connector port="9027"
protocol="HTTP/1.1"
maxHttpHeaderSize="8192"
maxThreads="1000"
minSpareThreads="100"
maxSpareThreads="1000"
minProcessors="100"
maxProcessors="1000"
enableLookups="false"
URIEncoding="utf-8"
acceptCount="1000"
redirectPort="8443"
disableUploadTimeout="true"/>
3.Tomcat緩存優化
1>參數說明
c ompression 打開壓縮功能
compressionMinSize 啟用壓縮的輸出內容大小,這裡面默認為2KB
compressableMimeType 壓縮類型
connectionTimeout 定義建立客戶連接超時的時間. 如果為 -1, 表示不限制建立客戶連接的時間
2>Tomcat中的配置示例
<Connector port="9027"
protocol="HTTP/1.1"
maxHttpHeaderSize="8192"
maxThreads="1000"
minSpareThreads="100"
maxSpareThreads="1000"
minProcessors="100"
maxProcessors="1000"
enableLookups="false"
compression="on"
compressionMinSize="2048"
compressableMimeType="text/html,text/xml,text/javascript,text/css,text/plain"
connectionTimeout="20000"
URIEncoding="utf-8"
acceptCount="1000"
redirectPort="8443"
disableUploadTimeout="true"/>
4.參考配置
1>舊有的配置
參考網路對伺服器做過如下配置,拿出來分享下:
<Connector port="9027"
protocol="HTTP/1.1"
maxHttpHeaderSize="8192"
maxThreads="1000"
minSpareThreads="25"
maxSpareThreads="75"
enableLookups="false"
compression="on"
compressionMinSize="2048"
compressableMimeType="text/html,text/xml,text/javascript,text/css,text/plain"
connectionTimeout="20000"
URIEncoding="utf-8"
acceptCount="200"
redirectPort="8443"
disableUploadTimeout="true" />
後來發現在訪問量達到3 百萬多的時候出現性能瓶頸。
2>更改後的配置
<Connector port="9027"
protocol="HTTP/1.1"
maxHttpHeaderSize="8192"
maxThreads="1000"
minSpareThreads="100"
maxSpareThreads="1000"
minProcessors="100"
maxProcessors="1000"
enableLookups="false"
compression="on"
compressionMinSize="2048"
compressableMimeType="text/html,text/xml,text/javascript,text/css,text/plain"
connectionTimeout="20000"
URIEncoding="utf-8"
acceptCount="1000"
redirectPort="8443"
disableUploadTimeout="true"/>
⑺ 怎麼在只使用tomcat的情況上,自動緩存js和css或者image等文件
該方法分為以下3個步驟
第一步:寫一個filter,可以根據路徑的正則來判斷該路徑的請求是否需要設置max-age:
Java代碼
/**
*
* @author ahuaxuan
* @date 2008-12-4
* @version $id$
*/
public class CacheFilter implements Filter{
private static transient Log logger = LogFactory.getLog(CacheFilter.class);
private Integer cacheTime = 3600 * 24;
private List<Pattern> patternList = new ArrayList<Pattern>();
private static ResourceBundle rb = ResourceBundle.getBundle("cache-pattern");
public void destroy() {
}
public void doFilter(ServletRequest rq, ServletResponse rqs,
FilterChain fc) throws IOException, ServletException {
fc.doFilter(rq, rqs);
if (rq instanceof HttpServletRequest && rqs instanceof HttpServletResponse) {
HttpServletRequest request = (HttpServletRequest) rq;
HttpServletResponse response = (HttpServletResponse) rqs;
if (matchPattern(request.getRequestURI())) {
response.setHeader("Cache-Control", "max-age=" + cacheTime);
if (logger.isDebugEnabled()) {
StringBuilder sb = new StringBuilder();
sb.append(" set cache control for uri = ").append
(request.getRequestURI());
sb.append(" and the cache time is ").append(cacheTime).append("
second");
logger.debug(sb.toString());
}
}
} else {
if (logger.isWarnEnabled()) {
logger.warn("---- the request instance is not instanceof
HttpServletRequest ---");
logger.warn("---- the response instance is not instanceof
HttpServletResponse ---");
}
}
}
第二步:在classpath路徑下創建一個cache-pattern.properties文件,內容如下:
Java代碼
1 = .*ext-all.js
2 = .*prototype.js
3 = .*/css/.*\\.css
1 = .*ext-all.js
2 = .*prototype.js
3 = .*/css/.*\\.css
在這個配置文件中,您可以根據js和css的路徑來配置哪些目錄,或者哪些文件需要設置max-age.
第三步:
在web.xml添加如下內容:
Java代碼
<filter>
<filter-name>cache-filter</filter-name>
<filter-class>com.tudou.tudouadsales.component.web.filter.CacheFilter</filter-
class>
<init-param>
<param-name>cache-time</param-name>
<param-value>86000</param-value>
</init-param>
</filter>
<filter-mapping>
<filter-name>cache-filter</filter-name>
<url-pattern>*.js</url-pattern>
</filter-mapping>
<filter-mapping>
<filter-name>cache-filter</filter-name>
<url-pattern>*.css</url-pattern>
</filter-mapping>
⑻ 如何清除tomcat緩存
清除tomcat緩存的具體步驟如下:
我們需要准備的材料分別是:電腦、tomcat。
1、首先我們需要點擊打開Tomcat安裝目錄,之後點擊打開temp文件夾。
⑼ eclipse 怎麼自動清除 tomcat 緩存
解決辦法如下:
1、在jsp文件頭加上<meta http-equiv="Expires" content="0"<meta http-equiv="kiben" content="no-cache"其中,第一行的content="0",是表示過期的時間,如果不是0的話,就必須使用GMT的時間格式。第二行表示不用緩存機制。
2、刪除work目錄下的緩存文件。conf/server.xml 文件Context path 中間加上 reloadable="true"例如:<Context path="" docBase="E:\MYJSP\" debug="0" reloadable="true" /在tomcat的startup.bat里首部加上批處理命令rd/s/q "D:\Program Files\tomcat-6.0\work\Catalinatomcat路徑根據自己情況修改.這樣基本可以解決緩存遺留問題。
⑽ linux tomcat緩存怎麼清理緩存
linux下清除tomcat緩存
首先關閉tomcat服務進程
killall -9 java 比較徹底的結束進程
查看下進程是否結束完全
ps -aux |grep java
然後進入 安裝目錄/tomcat/work目錄下,刪除該目錄下所有
執行命令:
rm -rf Catalina/
rm -rf Catalinai/
rm -rf Catalinaii/
確認是刪除命令:ls,如果work目錄下沒有Catalina文件夾,這表示刪除成功
再進入 安裝目錄/tomcat/bin目錄下執行命令:./startup.sh,啟動tomcat