真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

linux內(nèi)存限制命令 linux限制程序內(nèi)存占用

Linux里面JVM內(nèi)存怎么設(shè)置

一、堆內(nèi)存相關(guān)配置

桐鄉(xiāng)網(wǎng)站建設(shè)公司成都創(chuàng)新互聯(lián)公司,桐鄉(xiāng)網(wǎng)站設(shè)計(jì)制作,有大型網(wǎng)站制作公司豐富經(jīng)驗(yàn)。已為桐鄉(xiāng)數(shù)千家提供企業(yè)網(wǎng)站建設(shè)服務(wù)。企業(yè)網(wǎng)站搭建\外貿(mào)網(wǎng)站制作要多少錢,請(qǐng)找那個(gè)售后服務(wù)好的桐鄉(xiāng)做網(wǎng)站的公司定做!

設(shè)置堆初始值

指令1:-Xms2g

指令2:-XX:InitialHeapSize=2048m

設(shè)置堆區(qū)最大值

指令1:`-Xmx2g`

指令2: -XX:MaxHeapSize=2048m

縮小堆內(nèi)存的時(shí)機(jī)

-XX:MaxHeapFreeRatio=70//堆內(nèi)存使用率大于70時(shí)擴(kuò)張堆內(nèi)存,xms=xmx時(shí)該參數(shù)無效,默認(rèn)值70

擴(kuò)張堆內(nèi)存的時(shí)機(jī)

-XX:MinHeapFreeRatio=40//堆內(nèi)存使用率小于40時(shí)縮減堆內(nèi)存,xms=xmx時(shí)該參數(shù)無效,默認(rèn)值40

新生代內(nèi)存配置

指令1:-Xmn512m

指令2:-XX:MaxNewSize=512m

2個(gè)survivor區(qū)和Eden區(qū)大小比率

指令:-XX:SurvivorRatio=6 //S區(qū)和Eden區(qū)占新生代比率為1:6,兩個(gè)S區(qū)2:6

新生代和老年代的占比

-XX:NewRatio=4 //表示新生代:老年代 = 1:4 即老年代占整個(gè)堆的4/5;默認(rèn)值=2

二、方法區(qū)內(nèi)存配置常用參數(shù)

初始化的Metaspace大小,

-XX:MetaspaceSize :

Metaspace最大值

-XX:MaxMetaspaceSize

三、線程棧內(nèi)存配置常用參數(shù)

每個(gè)線程棧最大值

指令1:-Xss256k

指令2:-XX:ThreadStackSize=256k

注意:

棧設(shè)置太大,會(huì)導(dǎo)致線程創(chuàng)建減少。

棧設(shè)置小,會(huì)導(dǎo)致深入不夠,深度的遞歸會(huì)導(dǎo)致棧溢出。

建議棧深度設(shè)置在3000-5000

四、配置垃圾收集器

Serial垃圾收集器(新生代)

開啟:-XX:+UseSerialGC

關(guān)閉:-XX:-UseSerialGC

//新生代使用Serial 老年代則使用SerialOld

ParNew垃圾收集器(新生代)

開啟 -XX:+UseParNewGC

關(guān)閉 -XX:-UseParNewGC

//新生代使用功能ParNew 老年代則使用功能CMS

Parallel Scavenge收集器(新生代)

開啟 -XX:+UseParallelOldGC

關(guān)閉 -XX:-UseParallelOldGC

//新生代使用功能Parallel Scavenge 老年代將會(huì)使用Parallel Old收集器

ParallelOl垃圾收集器(老年代)

開啟 -XX:+UseParallelGC

關(guān)閉 -XX:-UseParallelGC

//新生代使用功能Parallel Scavenge 老年代將會(huì)使用Parallel Old收集器

CMS垃圾收集器(老年代)

開啟 -XX:+UseConcMarkSweepGC

關(guān)閉 -XX:-UseConcMarkSweepGC

G1垃圾收集器

開啟 -XX:+UseG1GC

關(guān)閉 -XX:-UseG1GC

五、GC策略配置

GC并行執(zhí)行線程數(shù)

-XX:ParallelGCThreads=16

新生代可容納的最大對(duì)象

-XX:PretenureSizeThreshold=1000000 //大于此值的對(duì)象直接會(huì)分配到老年代,設(shè)置為0則沒有限制。 //避免在Eden區(qū)和Survivor區(qū)發(fā)生大量的內(nèi)存復(fù)制,該參數(shù)只對(duì)Serial和ParNew收集器有效,Parallel Scavenge并不認(rèn)識(shí)該參數(shù)

進(jìn)入老年代的GC年齡

進(jìn)入老年代最小的GC年齡

-XX:InitialTenuringThreshol=7 //年輕代對(duì)象轉(zhuǎn)換為老年代對(duì)象最小年齡值,默認(rèn)值7,對(duì)象在堅(jiān)持過一次Minor GC之后,年齡就加1,每個(gè)對(duì)象在堅(jiān)持過一次Minor GC之后,年齡就增加1

進(jìn)入老年代最大的GC年齡

-XX:MaxTenuringThreshold=15 //年輕代對(duì)象轉(zhuǎn)換為老年代對(duì)象最大年齡值,默認(rèn)值15

六、GC日志信息配置

配置GC文件路徑

-Xloggc:/data/gclog/gc.log//固定路徑名稱生成 -Xloggc:/home/GCEASY/gc-%t.log //根據(jù)時(shí)間生成

滾動(dòng)生成日志

日志文件達(dá)到一定大小后,生成另一個(gè)文件。須配置Xloggc

開啟 -XX:+UseGCLogFileRotation

關(guān)閉 -XX:-UseGCLogFileRotation

-XX:NumberOfGCLogFiles=4 //滾動(dòng)GC日志文件數(shù),默認(rèn)0,不滾動(dòng) -XX:GCLogFileSize=100k //GC文件滾動(dòng)大小,需配置UseGCLogFileRotation,設(shè)置為0表示僅通過jcmd命令觸發(fā)

Linux系統(tǒng)基本的內(nèi)存管理知識(shí)講解

Linux系統(tǒng)基本的內(nèi)存管理知識(shí)講解

內(nèi)存是Linux內(nèi)核所管理的最重要的資源之一。內(nèi)存管理系統(tǒng)是操作系統(tǒng)中最為重要的部分,因?yàn)橄到y(tǒng)的物理內(nèi)存總是少于系統(tǒng)所需要的內(nèi)存數(shù)量。虛擬內(nèi)存就是為了克服這個(gè)矛盾而采用的策略。系統(tǒng)的虛擬內(nèi)存通過在各個(gè)進(jìn)程之間共享內(nèi)存而使系統(tǒng)看起來有多于實(shí)際內(nèi)存的內(nèi)存容量。Linux支持虛擬內(nèi)存, 就是使用磁盤作為RAM的擴(kuò)展,使可用內(nèi)存相應(yīng)地有效擴(kuò)大。核心把當(dāng)前不用的內(nèi)存塊存到硬盤,騰出內(nèi)存給其他目的。當(dāng)原來的內(nèi)容又要使用時(shí),再讀回內(nèi)存。

一、內(nèi)存使用情況監(jiān)測(cè)

(1)實(shí)時(shí)監(jiān)控內(nèi)存使用情況

在命令行使用“Free”命令可以監(jiān)控內(nèi)存使用情況

代碼如下:

#free

total used free shared buffers cached

Mem: 256024 192284 63740 0 10676 101004

-/+ buffers/cache: 80604 175420

Swap: 522072 0 522072

上面給出了一個(gè)256兆的RAM和512兆交換空間的'系統(tǒng)情況。第三行輸出(Mem:)顯示物理內(nèi)存。total列不顯示核心使用的物理內(nèi)存(通常大約1MB)。used列顯示被使用的內(nèi)存總額(第二行不計(jì)緩沖)。 free列顯示全部沒使用的內(nèi)存。Shared列顯示多個(gè)進(jìn)程共享的內(nèi)存總額。Buffers列顯示磁盤緩存的當(dāng)前大小。第五行(Swap:)對(duì)對(duì)換空間,顯示的信息類似上面。如果這行為全0,那么沒使用對(duì)換空間。在缺省的狀態(tài)下,free命令以千字節(jié)(也就是1024字節(jié)為單位)來顯示內(nèi)存使用情況??梢允褂谩猦參數(shù)以字節(jié)為單位顯示內(nèi)存使用情況,或者可以使用—m參數(shù)以兆字節(jié)為單位顯示內(nèi)存使用情況。還可以通過—s參數(shù)使用命令來不間斷地監(jiān)視內(nèi)存使用情況:

#free –b –s2

這個(gè)命令將會(huì)在終端窗口中連續(xù)不斷地報(bào)告內(nèi)存的使用情況,每2秒鐘更新一次。

(2)組合watch與 free命令用來實(shí)時(shí)監(jiān)控內(nèi)存使用情況:

代碼如下:

#watch -n 2 -d free

Every 2.0s: free Fri Jul 6 06:06:12 2007

total used free shared buffers cached

Mem: 233356 218616 14740 0 5560 64784

-/+ buffers/cache: 148272 85084

Swap: 622584 6656 615928

watch命令會(huì)每?jī)擅雸?zhí)行 free一次,執(zhí)行前會(huì)清除屏幕,在同樣位置顯示數(shù)據(jù)。因?yàn)?watch命令不會(huì)卷動(dòng)屏幕,所以適合出長(zhǎng)時(shí)間的監(jiān)測(cè)內(nèi)存使用率??梢允褂?-n選項(xiàng),控制執(zhí)行的頻率;也可以利用 -d選項(xiàng),讓命令將每次不同的地方顯示出來。Watch命令會(huì)一直執(zhí)行,直到您按下 [Ctrl]-[C] 為止。

二、虛擬內(nèi)存的概念

(1)Linux虛擬內(nèi)存實(shí)現(xiàn)機(jī)制

Linux虛擬內(nèi)存的實(shí)現(xiàn)需要六種機(jī)制的支持:地址映射機(jī)制、內(nèi)存分配回收機(jī)制、緩存和刷新機(jī)制、請(qǐng)求頁機(jī)制、交換機(jī)制、內(nèi)存共享機(jī)制。

首先內(nèi)存管理程序通過映射機(jī)制把用戶程序的邏輯地址映射到物理地址,在用戶程序運(yùn)行時(shí)如果發(fā)現(xiàn)程序中要用的虛地址沒有對(duì)應(yīng)的物理內(nèi)存時(shí),就發(fā)出了請(qǐng)求頁要求;如果有空閑的內(nèi)存可供分配,就請(qǐng)求分配內(nèi)存(于是用到了內(nèi)存的分配和回收),并把正在使用的物理頁記錄在緩存中(使用了緩存機(jī)制)。 如果沒有足夠的內(nèi)存可供分配,那么就調(diào)用交換機(jī)制,騰出一部分內(nèi)存。另外在地址映射中要通過TLB(翻譯后援存儲(chǔ)器)來尋找物理頁;交換機(jī)制中也要用到交換緩存,并且把物理頁內(nèi)容交換到交換文件中后也要修改頁表來映射文件地址。

(2)虛擬內(nèi)存容量設(shè)定

也許有人告訴你,應(yīng)該分配2倍于物理內(nèi)存的虛擬內(nèi)存,但這是個(gè)不固定的規(guī)律。如果你的物理保存比較小,可以這樣設(shè)定。如果你有1G物理內(nèi)存或更多的話,可以縮小一下虛擬內(nèi)存。Linux會(huì)把大量的內(nèi)存用做Cache的,但在資源緊張時(shí)回收回.。你只要看到swap為0或者很小就可以放心了,因?yàn)閮?nèi)存放著不用才是最大的浪費(fèi)。

三、使甩vmstat命令監(jiān)視虛擬內(nèi)存使用情況

vmstat是Virtual Meomory Statistics(虛擬內(nèi)存統(tǒng)計(jì))的縮寫,可對(duì)操作系統(tǒng)的虛擬內(nèi)存、進(jìn)程、CPU活動(dòng)進(jìn)行監(jiān)視。它是對(duì)系統(tǒng)的整體情況進(jìn)行統(tǒng)計(jì),不足之處是無法對(duì)某個(gè)進(jìn)程進(jìn)行深入分析。通常使用vmstat 5 5(表示在5秒時(shí)間內(nèi)進(jìn)行5次采樣)命令測(cè)試。將得到一個(gè)數(shù)據(jù)匯總它可以反映真正的系統(tǒng)情況。

代碼如下:

#vmstat 5 5

procs -----------memory---------- ---swap-- -----io---- --system-- ----cpu----

r b swpd free buff cache si so bi bo in cs us sy id wa

1 0 62792 3460 9116 88092 6 30 189 89 1061 569 17 28 54 2

0 0 62792 3400 9124 88092 0 0 0 14 884 434 4 14 81 0

0 0 62792 3400 9132 88092 0 0 0 14 877 424 4 15 81 0

1 0 62792 3400 9140 88092 0 0 0 14 868 418 6 20 74 0

1 0 62792 3400 9148 88092 0 0 0 15 847 400 9 25 67 0

vmstat命令輸出分成六個(gè)部分:

linux進(jìn)程內(nèi)存上限

linux下的ulimit命令可以對(duì)shell進(jìn)程所用資源進(jìn)行限制。通過cgroup限制后,當(dāng)內(nèi)存達(dá)到限額,進(jìn)程會(huì)被kill。

Linux 內(nèi)存命令

1.在Linux下查看內(nèi)存:free

2.查看進(jìn)程

3.實(shí)時(shí)顯示系統(tǒng)中各個(gè)進(jìn)程的資源占用狀況 top

4.

5.df 用于顯示 Linux 系統(tǒng)的磁盤利用率

6.du 命令

du是用于查找文件和目錄的磁盤使用情況的命令。du 命令在與各種選項(xiàng)一起使用時(shí)能以多種格式提供結(jié)果。

如何限制Linux內(nèi)存的使用

swap是一塊磁盤空間或者一個(gè)本地文件

/proc/sys/vm/swappiness 可以設(shè)置服務(wù)器使用 swap 的積極程度。取值范圍為0-100,值越大,越積極使用swap,更傾向于回收匿名頁;值越小,越消極使用swap,更傾向于回收文件頁。

即使swap設(shè)置為0,當(dāng)剩余內(nèi)存+文件頁小于頁高閾值( pages_high )的時(shí)候,也會(huì)發(fā)生swap

Linux有專門的內(nèi)核線程 kswapd0 定期回收內(nèi)存,為了衡量?jī)?nèi)存的使用情況, kswapd0 定義了三個(gè)內(nèi)存閾值:頁最小閾值 pages_min 、頁低閾值 pages_low 和頁高閾值 pages_high ,剩余內(nèi)存使用 pages_free 表示。

kswapd0 定期掃描內(nèi)存的使用情況,并根據(jù)剩余內(nèi)存和這三個(gè)閾值的關(guān)系進(jìn)行內(nèi)存回收操作。

pages_free pages_min :進(jìn)程可用內(nèi)存耗盡,只有內(nèi)核才可以分配內(nèi)存

pages_min pages_free pages_low :內(nèi)存壓力較大, kswapd0 會(huì)執(zhí)行內(nèi)存回收,直到剩余內(nèi)存大于高閾值為止

pages_low pages_free pages_high :內(nèi)存有一定壓力,但還可以滿足新內(nèi)存請(qǐng)求

pages_free pages_high :剩余內(nèi)存較多,沒有內(nèi)存壓力。

這些閾值可以通過內(nèi)核選項(xiàng)來 proc/sys/vm/min_free_kbytes 間接設(shè)置。 min_free_kbytes 設(shè)置了頁最小閾值( pages_min )。 pages_low=pages_min*5/4 , pages_high=pages_min*3/2

/etc/security/limits.conf

通過這個(gè)配置文件可以對(duì)每個(gè)登錄的會(huì)話進(jìn)行限制,這種限制不是全局的,也不是永久的,只在會(huì)話期間起作用。

通常,對(duì)單個(gè)用戶的限制優(yōu)先級(jí)高于對(duì)用戶組的限制

可以使用以下方式限制內(nèi)存使用

語法

domain type item value

詳見 limits.conf(5) - Linux man page

/proc/sys/vm/overcommit_memory 控制內(nèi)核使用虛擬內(nèi)存的模式,可以設(shè)置為以下值


分享題目:linux內(nèi)存限制命令 linux限制程序內(nèi)存占用
文章位置:http://weahome.cn/article/higsop.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部