2021-02-25 分類: 云服務(wù)器
很多同學(xué)剛開(kāi)始做項(xiàng)目買了最低配置云服務(wù)器,但有時(shí)運(yùn)行軟件好幾個(gè),服務(wù)器就趴下來(lái),以我的經(jīng)驗(yàn)可以這么搞,盡量運(yùn)行必須要用的軟件,1G內(nèi)存能干什么,所以……,還可以優(yōu)化軟件本身,讓啟動(dòng)時(shí)盡可能少占用內(nèi)存空間,等用戶上來(lái)再升級(jí)配置也不遲。
TOMCAT優(yōu)化
tomcat7默認(rèn)內(nèi)存配置,啟動(dòng)后,大約會(huì)占四百多M內(nèi)存,如果是java程序又比較大,可能會(huì)出現(xiàn)以下問(wèn)題:
java.lang.OutOfMemoryError: Java heap space ----JVM Heap(堆)溢出
java.lang.OutOfMemoryError: PermGen space ---- PermGen space溢出。
java.lang.StackOverflowError ---- 棧溢出
解決辦法:
linux下的tomcat:
修改tomcat/bin/catalina.sh
位置cygwin=false前。
JAVA_OPTS="-server -Xms256m -Xmx512m -XX:PermSize=64M -XX:MaxPermSize=128m"
Windows下的tomcat
在"echo "Using CATALINA_BASE: $CATALINA_BASE""上面加入以下行:
JAVA_OPTS="-server -XX:PermSize=64M -XX:MaxPermSize=128m
下面這段大多數(shù)人都不看,留著備用吧
JVM參數(shù)說(shuō)明:
-server:一定要作為第一個(gè)參數(shù),在多個(gè)CUP時(shí)性能佳
-Xms:java Heap初始化大小。默認(rèn)物理內(nèi)存的1/64
-Xmx:java Heap大值。建議平均物理內(nèi)存的一般。不可超過(guò)物理內(nèi)存。
-XX:PermSize:設(shè)定內(nèi)存的永久保存區(qū)初始化大小,缺省為64M
-XX:MaxPermSize:設(shè)定內(nèi)存的永久保存區(qū)大大小,缺省委64M、
-XX:SurvivorRatio=2:生還者池的大小,默認(rèn)是2,如果垃圾回收變成了瓶頸,您可以嘗試定值生成池設(shè)置
-XX:NewSize:新生成的池初始化大小,缺省為2M。
-XX:MaxNewSize:新生成的池大大小。缺省為32M。
這參數(shù)讓JVM忽略Xmx參數(shù),瘋狂地吃完一個(gè)G物理內(nèi)存,再吃盡1個(gè)G的swap。
-Xss:每個(gè)線程的Stack大小,-Xss 15120這使得JBoss沒(méi)增加一個(gè)線程就會(huì)消耗15M內(nèi)存,而好值應(yīng)該是128k,默認(rèn)512k
-verbose:gc 實(shí)現(xiàn)垃圾回收信息
-Xloggc:gc.log指定垃圾收集日志文件
-Xmn:young generation的heap大小,一般設(shè)置為Xmx的3,4之一
-XX:+UseParNewGC:所短minor收集的時(shí)間
-XX:+UserConcMarkSweepGC:所短major收集的時(shí)間 次選項(xiàng)在Heap Size比較大而且Major收集較長(zhǎng)的情況下使用更合適。
-XX:userParNewGC 可用來(lái)設(shè)置多個(gè)并行收集
-XX:ParallelGCThreads可用來(lái)增加并行度
-XX:UseParallelGC設(shè)置后可以使用并行清理收集器
-XX:+UseBiasedLocking非競(jìng)爭(zhēng)性的同步選項(xiàng),鎖機(jī)制的性能改善。
-XX:+DisableExplicitGC 禁止System.gc(),免得程序員誤調(diào)用gc方法影響性能。
-XX:MaxTenuringThreshold 為放置所有的復(fù)制全部發(fā)生以及希望對(duì)象從eden擴(kuò)展到舊域,可以把MaxTenuring Threshold設(shè)置成0。設(shè)置完成后,實(shí)際上就不再使用救助空間了,因此應(yīng)把SurvivorRatio設(shè)成大值以大化Eden空間,設(shè)置如下:
-XX:+UseParNewGC 對(duì)年輕代采用多線程并行回收,這樣收得快。
-XX:+CMSParallelRemarkEnabled 在使用UseParNewGC 的情況下, 盡量減少 mark 的時(shí)間
-XX:LargePageSizeInBytes 指定 Java heap的分頁(yè)頁(yè)面大小
-XX:MaxTenuringThreshold 設(shè)置垃圾大年齡。
重啟生效
MySQL優(yōu)化
mysql默認(rèn)啟動(dòng),會(huì)占用四百多M內(nèi)存,也可以優(yōu)化。
linux下,打開(kāi)/etc/my.cnf
重啟生效
看一下兩個(gè)軟件同時(shí)運(yùn)行占用內(nèi)存情況
本文名稱:1G內(nèi)存的云服務(wù)器,如何優(yōu)化10000人訪問(wèn)不卡頓
文章URL:http://jinyejixie.com/news/102927.html
網(wǎng)站建設(shè)、網(wǎng)絡(luò)推廣公司-創(chuàng)新互聯(lián),是專注品牌與效果的網(wǎng)站制作,網(wǎng)絡(luò)營(yíng)銷seo公司;服務(wù)項(xiàng)目有云服務(wù)器等
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)
猜你還喜歡下面的內(nèi)容