最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

對Docker-java項(xiàng)目進(jìn)行jvm調(diào)優(yōu)-內(nèi)存方式

 更新時(shí)間:2024年09月25日 10:15:10   作者:背風(fēng)衣人  
本文詳細(xì)介紹了如何進(jìn)入Docker容器并分析Java進(jìn)程的內(nèi)存使用情況,通過使用jps和jstat工具,可以查看java進(jìn)程列表及內(nèi)存池容量,討論了設(shè)置JVM參數(shù)-Xmx和-Xms相等的重要性,以避免堆內(nèi)存的頻繁調(diào)整,此外,還探討了FullGC觸發(fā)條件和元空間的配置

1. 分析內(nèi)存使用情況

1.1 進(jìn)入docker容器

# 查看容器列表
docker ps
# 根據(jù)容器name或id進(jìn)入容器命令行終端
docker exec -it <container_name> bash

1.2 通過jps查看當(dāng)前java進(jìn)程列表

三種不同詳細(xì)程度的進(jìn)程列表(主要是獲取java進(jìn)程的lvmid)

root@21e4300860c8:/# jps
1 jar
79 Jps

root@21e4300860c8:/# jps -l
1 /knx-organization-service-exec.jar
127 sun.tools.jps.Jps

root@21e4300860c8:/# jps -lv
1 /knx-organization-service-exec.jar -Xmx512m -Xms512m -Dspring.profiles.active=dev,jiewli -Djasypt.encryptor.password= -Xdebug -Xrunjdwp:transport=dt_socket,server=y,suspend=n,address=18000
139 sun.tools.jps.Jps -Dapplication.home=/usr/lib/jvm/java-8-openjdk-amd64 -Xms8m

1.3 通過jstat -gccapacity統(tǒng)計(jì)java進(jìn)程的內(nèi)存池容量

root@21e4300860c8:/# jstat -gccapacity -h 20 1 250
NGCMN    NGCMX     NGC     S0C   S1C       EC      OGCMN      OGCMX       OGC         OC       MCMN     MCMX      MC     CCSMN    CCSMX     CCSC    YGC    FGC 
174592.0 174592.0 174592.0 7680.0 8704.0 157184.0   349696.0   349696.0   349696.0   349696.0      0.0 1136640.0  98280.0      0.0 1048576.0  11904.0     46     4
174592.0 174592.0 174592.0 7680.0 8704.0 157184.0   349696.0   349696.0   349696.0   349696.0      0.0 1136640.0  98280.0      0.0 1048576.0  11904.0     46     4
174592.0 174592.0 174592.0 7680.0 8704.0 157184.0   349696.0   349696.0   349696.0   349696.0      0.0 1136640.0  98280.0      0.0 1048576.0  11904.0     46     4
174592.0 174592.0 174592.0 7680.0 8704.0 157184.0   349696.0   349696.0   349696.0   349696.0      0.0 1136640.0  98280.0      0.0 1048576.0  11904.0     46     4
174592.0 174592.0 174592.0 7680.0 8704.0 157184.0   349696.0   349696.0   349696.0   349696.0      0.0 1136640.0  98280.0      0.0 1048576.0  11904.0     46     4
174592.0 174592.0 174592.0 7680.0 8704.0 157184.0   349696.0   349696.0   349696.0   349696.0      0.0 1136640.0  98280.0      0.0 1048576.0  11904.0     46     4
174592.0 174592.0 174592.0 7680.0 8704.0 157184.0   349696.0   349696.0   349696.0   349696.0      0.0 1136640.0  98280.0      0.0 1048576.0  11904.0     46     4

說明:

  1. 新生代空間由Survivor0、Survivor1、Eden(幸存者空間0、幸存者空間1、伊甸園)三部分組成
  2. OGC = sum(all OC),目前老年代只有一個(gè)空間,故而OGCOC相等??梢蕴骄恳幌吕夏甏卸鄠€(gè)空間的時(shí)候有什么差異。
  3. JVM參數(shù)-Xmx512m最大堆內(nèi)存等于NGCMX + OGCMX
  4. JVM參數(shù)-Xms512m最小堆內(nèi)存等于NGCMN + OGCMN
  5. 將堆的最小值-Xms參數(shù)與最大值-Xmx參數(shù)設(shè)置為一樣即可避免堆自動擴(kuò)展。因?yàn)镴VM初始分配的內(nèi)存由-Xms指定,默認(rèn)是物理內(nèi)存的1/64;JVM最大分配的內(nèi)存由-Xmx指定,默認(rèn)是物理內(nèi)存的1/4。默認(rèn)空余堆內(nèi)存小于40%時(shí),JVM就會增大堆直到-Xmx的最大限制;空余堆內(nèi)存大于70%時(shí),JVM會減少堆直到-Xms的最小限制。因此服務(wù)器一般設(shè)置-Xms-Xmx相等以避免在每次GC后調(diào)整堆的大小。對象的堆內(nèi)存由稱為垃圾回收器的自動內(nèi)存管理系統(tǒng)回收。
  6. Full GC觸發(fā)條件:
  • 調(diào)用System.gc時(shí)
  • 老年代空間不足
  • 方法區(qū)空間不足
  • 通過Minor GC(新生代GC)后進(jìn)入老年代的平均大小大于老年代的可用內(nèi)存
  • 由Eden區(qū)、From Space區(qū)向To Space區(qū)復(fù)制時(shí),對象大小大于To Space可用內(nèi)存,則把該對象轉(zhuǎn)存到老年代,且老年代的可用內(nèi)存小于該對象大小

JVM參數(shù)-XX:MetaspaceSize元空間初始化內(nèi)存大小,默認(rèn)是20.79MB,超過20.79MB后,每次元空間擴(kuò)增都會觸發(fā)Full GC,所以這個(gè)值設(shè)大一點(diǎn)可以減少Full GC次數(shù)。

JVM參數(shù)-XX:MaxMetaspaceSize元空間最大內(nèi)存大小,默認(rèn)是無限(超過宿主機(jī)內(nèi)存視為與宿主機(jī)內(nèi)存一致),設(shè)置這個(gè)值,可以避免在發(fā)生故障時(shí)占用大量宿主機(jī)內(nèi)存資源,影響其他服務(wù)。

列代碼列名容量(kB)容量(MB)
NGCMN初始新生代空間容量174592.0170.5
NGCMX最大新生代空間容量174592.0170.5
NGC當(dāng)前新生代容量174592.0170.5
S0C當(dāng)前幸存者空間0容量7680.07.5
S1C當(dāng)前幸存者空間1容量8704.08.5
EC當(dāng)前Eden(伊甸園)區(qū)空間容量157184.0153.5
OGCMN初始老年代空間容量349696.0341.5
OGCMX最大老年代空間容量349696.0341.5
OGC當(dāng)前老年代空間容量349696.0341.5
MCMN初始元空間容量0.00
MCMX最大元空間容量1136640.01,110
MC當(dāng)前元空間容量98280.095.9765625
CCSMN壓縮的類空間初始容量0.00
CCSMX壓縮的類空間最大容量1048576.01,024
CCSC當(dāng)前壓縮的類空間容量11904.011.625
YGC新生代GC事件數(shù)量46
FGC完整GC事件數(shù)量4

1.4 也可以通過jstat -gc來統(tǒng)計(jì)

root@7f9fbd4518a4:/# jstat -gc -h 20 1 250
 S0C    S1C    S0U    S1U      EC       EU        OC         OU       MC     MU    CCSC   CCSU   YGC     YGCT    FGC    FGCT     GCT   
10240.0 10240.0 2416.0  0.0   154112.0 123601.6  349696.0   60088.4   81112.0 75681.7 9432.0 8462.8     38    1.640   3      0.431    2.071
10240.0 10240.0 2416.0  0.0   154112.0 123601.6  349696.0   60088.4   81112.0 75681.7 9432.0 8462.8     38    1.640   3      0.431    2.071
10240.0 10240.0 2416.0  0.0   154112.0 123601.6  349696.0   60088.4   81112.0 75681.7 9432.0 8462.8     38    1.640   3      0.431    2.071
10240.0 10240.0 2416.0  0.0   154112.0 123893.9  349696.0   60088.4   81112.0 75681.7 9432.0 8462.8     38    1.640   3      0.431    2.071
10240.0 10240.0 2416.0  0.0   154112.0 123893.9  349696.0   60088.4   81112.0 75681.7 9432.0 8462.8     38    1.640   3      0.431    2.071
10240.0 10240.0 2416.0  0.0   154112.0 123893.9  349696.0   60088.4   81112.0 75681.7 9432.0 8462.8     38    1.640   3      0.431    2.071
10240.0 10240.0 2416.0  0.0   154112.0 123893.9  349696.0   60088.4   81112.0 75681.7 9432.0 8462.8     38    1.640   3      0.431    2.071
10240.0 10240.0 2416.0  0.0   154112.0 123893.9  349696.0   60088.4   81112.0 75681.7 9432.0 8462.8     38    1.640   3      0.431    2.071
10240.0 10240.0 2416.0  0.0   154112.0 123893.9  349696.0   60088.4   81112.0 75681.7 9432.0 8462.8     38    1.640   3      0.431    2.071
10240.0 10240.0 2416.0  0.0   154112.0 123893.9  349696.0   60088.4   81112.0 75681.7 9432.0 8462.8     38    1.640   3      0.431    2.071

說明:

列代碼列名KBMB備注
S0C幸存者空間0容量10240.010
S1C幸存者空間1容量10240.010
S0U幸存者空間1利用率2416.02.35
S1U幸存者空間1利用率0.00.0
ECEden(伊甸園)空間容量154112.0150.5
EUEden(伊甸園)空間利用率123601.0120.70
OC老年代空間容量349696.0341.5
OU老年代空間利用率60088.058.67
MC元空間容量81112.079.21
MU元空間利用率75681.773.90
CCSC壓縮類空間容量9432.09.21Compressed class space capacity,對應(yīng)參數(shù)-XX:CompressedClassSpaceSize
CCSU壓縮類空間利用率8462.08.26
YGC新生代GC事件次數(shù)38
YGCT新生代GC事件時(shí)間1.640
FGCFull GC事件次數(shù)3
FGCTFull GC事件時(shí)間0.431
GCT總GC時(shí)間2.071

1.5 通過jstat -gcutil統(tǒng)計(jì)java進(jìn)程的垃圾收集統(tǒng)計(jì)信息

不限制采集次數(shù),采集過程中盡量模擬一般情況下的系統(tǒng)調(diào)用情況,直到觸發(fā)gc事件。

觸發(fā)一次新生代GC事件Minor GC(觀察YGC數(shù)量+1)

root@21e4300860c8:/# jstat -gcutil -h 20 1 250
  S0     S1     E      O      M     CCS    YGC     YGCT    FGC    FGCT     GCT  
  0.00   8.68  98.93  16.94  92.54  89.70     49    1.761     4    0.908    2.669
  0.00   8.68  98.96  16.94  92.54  89.70     49    1.761     4    0.908    2.669
  0.00   8.68  98.96  16.94  92.54  89.70     49    1.761     4    0.908    2.669
  0.00   8.68  98.96  16.94  92.54  89.70     49    1.761     4    0.908    2.669
  0.00   8.68  98.96  16.94  92.54  89.70     49    1.761     4    0.908    2.669
  6.80   0.00   0.00  16.95  92.52  89.72     50    1.766     4    0.908    2.673
  6.80   0.00   0.74  16.95  92.52  89.72     50    1.766     4    0.908    2.673
  6.80   0.00   1.27  16.95  92.52  89.72     50    1.766     4    0.908    2.673
  6.80   0.00   2.67  16.95  92.52  89.72     50    1.766     4    0.908    2.673
  6.80   0.00   2.67  16.95  92.52  89.72     50    1.766     4    0.908    2.673
  6.80   0.00   2.67  16.95  92.52  89.72     50    1.766     4    0.908    2.673
  6.80   0.00   2.67  16.95  92.52  89.72     50    1.766     4    0.908    2.673

觸發(fā)一次完整GC事件Full GC,如果空間過大,一般情況下無法人為觸發(fā),需要通過時(shí)間等待(項(xiàng)目啟動時(shí)間除以FGC可知多長時(shí)間觸發(fā)一次Full GC),一般是1小時(shí)觸發(fā)一次Full GC。

或許也可以讓survivor空間利用率接近100%觸發(fā)Full GC。

root@21e4300860c8:/# jstat -gcutil -h 20 1 250
  S0     S1     E      O      M     CCS    YGC     YGCT    FGC    FGCT     GCT   
  0.00  99.67  53.34  19.88  93.38  90.50     45    1.680     3    0.627    2.308
  0.00  99.67  55.03  19.88  93.38  90.50     45    1.680     3    0.627    2.308
  0.00  99.67  55.03  19.88  93.38  90.50     45    1.680     3    0.627    2.308
  0.00  99.67  55.03  19.88  93.38  90.50     45    1.680     3    0.627    2.308
  0.00  99.67  56.72  19.88  93.38  90.50     45    1.680     3    0.627    2.308
  0.00  99.67  56.72  19.88  93.38  90.50     45    1.680     3    0.627    2.308
 28.13   0.00   0.00  21.17  93.02  90.13     46    1.729     4    0.627    2.356
  0.00   0.00   0.00  16.94  92.41  89.38     46    1.729     4    0.908    2.637
  0.00   0.00   0.84  16.94  92.41  89.38     46    1.729     4    0.908    2.637
  0.00   0.00   0.84  16.94  92.41  89.38     46    1.729     4    0.908    2.637
  0.00   0.00   0.84  16.94  92.41  89.38     46    1.729     4    0.908    2.637
  0.00   0.00   0.90  16.94  92.41  89.38     46    1.729     4    0.908    2.637
  0.00   0.00   0.92  16.94  92.41  89.38     46    1.729     4    0.908    2.637
  0.00   0.00   0.92  16.94  92.41  89.38     46    1.729     4    0.908    2.637

1.6 查看元空間情況

# 查看java實(shí)例的某個(gè)參數(shù)
# 查看MetaspaceSize的值,默認(rèn)是-XX:MetaspaceSize=21807104(20.79 MB)
jinfo -flag MetaspaceSize <jvmid>
# 查看MaxMetaspaceSize的值,默認(rèn)是-XX:MaxMetaspaceSize=18446744073709547520(數(shù)值超過宿主機(jī)最大內(nèi)存,視為無限或與宿主機(jī)一致)
jinfo -flag MaxMetaspaceSize <jvmid>

1.7 查看docker容器狀態(tài)

# 在docker容器外部(宿主機(jī))終端
docker stats
# 查看某個(gè)docker容器的狀態(tài)
docker stats <container_name | id>

命令結(jié)果如下:

CONTAINER ID   NAME                       CPU %     MEM USAGE / LIMIT     MEM %     NET I/O           BLOCK I/O     PIDS
38b70395877a   knx-organization-service   0.49%     426.4MiB / 3.682GiB   11.31%    4.88MB / 4.35MB   47.6MB / 0B   57
7f9fbd4518a4   user-account-service       0.38%     479.4MiB / 3.682GiB   12.71%    1.84MB / 2.67MB   72.1MB / 0B   48

說明:

列名描述
CONTAINER ID and Name容器的ID和名稱
CPU % and MEM %容器正在使用的主機(jī)CPU和內(nèi)存的百分比
MEM USAGE / LIMIT容器正在使用的總內(nèi)存以及允許使用的總內(nèi)存量
NET I/O容器通過其網(wǎng)絡(luò)接口發(fā)送和接收的數(shù)據(jù)量
BLOCK I/O容器已從主機(jī)上的塊設(shè)備讀取和寫入的數(shù)據(jù)量
PIDs容器創(chuàng)建的進(jìn)程或線程數(shù)

I/O設(shè)備大致分為兩類:塊設(shè)備和字符設(shè)備。塊設(shè)備將信息存儲在固定大小的塊中,每個(gè)塊都有自己的地址。

數(shù)據(jù)塊的大小通常在512字節(jié)到32768字節(jié)之間。塊設(shè)備的基本特征是每個(gè)塊都能獨(dú)立于其它塊而讀寫。磁盤是最常見的塊設(shè)備

基于結(jié)果第一條可知:

  1. docker容器的內(nèi)存最大限制是3.682GiB,實(shí)際上就是宿主機(jī)的整個(gè)內(nèi)存,相當(dāng)于無限制。
  2. docker容器已使用的內(nèi)存大小是426.4MiB,與11.31% * 3.682GiB一致,實(shí)際上就是容器內(nèi)java進(jìn)程的實(shí)際內(nèi)存使用大?。ê芙咏?,說明docker容器除了服務(wù)外沒有多少額外內(nèi)存消耗。
  3. docker容器內(nèi)的進(jìn)程或線程數(shù)為57,進(jìn)程只有一個(gè)java服務(wù),所以可以視為java服務(wù)的線程數(shù)量。

1.8 計(jì)算性能參數(shù)

已知當(dāng)前老年代空間容量為341.5 MB,再根據(jù)新生代GC和Full GC兩種事件過程采集的結(jié)果可以計(jì)算出:

  1. 老年代空間利用率:16.94% ~ 21.17%
  2. 老年代空間利用大小區(qū)間:57.8501 MB ~ 72.29555 MB
  3. 默認(rèn)老年代占堆內(nèi)存的2/3,可以計(jì)算出適合的最小堆大小:72.29555/0.66=109.53871 MB
  4. 將最小堆大小往上推一個(gè)最接近的1024整除數(shù):1024/8=128 MB
  5. 非堆內(nèi)存不會被垃圾收集,可以視為永久代,當(dāng)前使用了多少,基本上就只需要多少,根據(jù)CCSC往上推算最接近的1024整除數(shù):1024/64=16 MB
  6. 當(dāng)前線程為57個(gè),考慮到當(dāng)前實(shí)例是開發(fā)環(huán)境,并發(fā)率很低,算作最大線程為100個(gè)

2. 修改JVM參數(shù)-Xmx、-Xms、-XX:MetaspaceSize、-XX:MaxMetaspaceSize

Java8開始已經(jīng)移除了永久代空間(PermGen或permanent generation)即-XX:PermSize、-XX:MaxPermSize兩個(gè)參數(shù)是無效的。

取而代之的是元空間(metaspace):

  • -XX:MetaspaceSize:最小元空間大小:并非初始化元空間大小,元空間一開始是0,并且不斷擴(kuò)增,直到MetaspaceSize,都不會觸發(fā)Full GC,而一旦擴(kuò)增超過MetaspaceSize后,每次擴(kuò)增都會觸發(fā)Full GC
  • -XX:MaxMetaspaceSize:最大元空間大?。簲U(kuò)增的上限,默認(rèn)是無限,設(shè)置一個(gè)值,避免一個(gè)服務(wù)因錯(cuò)誤地不斷加載類而占用整個(gè)服務(wù)器的內(nèi)存,從而影響其他服務(wù)的運(yùn)行。

修改項(xiàng)目鏡像的Dockerfilejava命令的JVM參數(shù)

java \
-Xmx128m \
-Xms128m \
-XX:MetaspaceSize=128m \
-XX:MaxMetaspaceSize=256m \
......

并且重新構(gòu)建鏡像并運(yùn)行。

3. 預(yù)估Docker容器的內(nèi)存限制

Max memory = [-Xmx] + [-XX:MaxMetaspaceSize] + number_of_threads * [-Xss]

總結(jié)

以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • 在Docker中部署Mysql并掛載配置文件的步驟詳解

    在Docker中部署Mysql并掛載配置文件的步驟詳解

    Docker是一種流行的容器化平臺,可以簡化應(yīng)用程序的部署和管理,本文我們將給大家詳細(xì)介紹在 Docker 中部署 MySQL 并掛載配置文件的詳細(xì)步驟,需要的朋友可以參考下
    2023-09-09
  • docker-compose基于MySQL8部署項(xiàng)目的實(shí)現(xiàn)

    docker-compose基于MySQL8部署項(xiàng)目的實(shí)現(xiàn)

    這篇文章主要介紹了docker-compose基于MySQL8部署項(xiàng)目的實(shí)現(xiàn),文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2021-03-03
  • 使用Docker打包和運(yùn)行Java鏡像的完整指南

    使用Docker打包和運(yùn)行Java鏡像的完整指南

    在這篇文章中,我們將詳細(xì)講解如何使用Docker打包和運(yùn)行一個(gè)Java應(yīng)用鏡像,通過此教程,即使你是一個(gè)小白,也能輕松學(xué)會如何構(gòu)建Docker鏡像并運(yùn)行Java應(yīng)用,感興趣的小伙伴跟著小編一起來看看吧
    2025-01-01
  • 遷移docker部署的gitlab過程(經(jīng)實(shí)戰(zhàn))

    遷移docker部署的gitlab過程(經(jīng)實(shí)戰(zhàn))

    本文詳細(xì)描述了如何將Docker部署的GitLab數(shù)據(jù)遷移到另一塊硬盤的過程,包括包括停止容器、遷移數(shù)據(jù)卷、修改掛載路徑、修正權(quán)限和重啟容器等等每一步驟都有詳細(xì)的說明確保遷移過程的安全性和有效性
    2026-05-05
  • docker-compose啟動mysql雙機(jī)熱備互為主從的方法實(shí)現(xiàn)

    docker-compose啟動mysql雙機(jī)熱備互為主從的方法實(shí)現(xiàn)

    本文主要介紹了docker-compose啟動mysql雙機(jī)熱備互為主從的方法實(shí)現(xiàn),文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2022-07-07
  • docker安裝sentinel的實(shí)現(xiàn)示例

    docker安裝sentinel的實(shí)現(xiàn)示例

    本文主要介紹了docker安裝sentinel的實(shí)現(xiàn)示例,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2023-12-12
  • 使用DockerFile構(gòu)建docker鏡像掛載目錄,數(shù)據(jù)卷同步問題

    使用DockerFile構(gòu)建docker鏡像掛載目錄,數(shù)據(jù)卷同步問題

    這篇文章主要介紹了使用DockerFile構(gòu)建docker鏡像掛載目錄,數(shù)據(jù)卷同步問題,具有很好的參考價(jià)值,希望對大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2024-07-07
  • 騰訊云服務(wù)器docker開啟端口后無法訪問的解決方法

    騰訊云服務(wù)器docker開啟端口后無法訪問的解決方法

    本文主要介紹了騰訊云服務(wù)器docker開啟端口后無法訪問的解決方法,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2023-06-06
  • Docker數(shù)據(jù)備份恢復(fù)實(shí)現(xiàn)過程詳解

    Docker數(shù)據(jù)備份恢復(fù)實(shí)現(xiàn)過程詳解

    這篇文章主要介紹了Docker數(shù)據(jù)備份恢復(fù)實(shí)現(xiàn)過程詳解,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2020-09-09
  • Docker安裝阿里云服務(wù)器和在虛擬機(jī)安裝遇到的坑(問題小結(jié))

    Docker安裝阿里云服務(wù)器和在虛擬機(jī)安裝遇到的坑(問題小結(jié))

    這篇文章主要介紹了Docker安裝阿里云服務(wù)器和在虛擬機(jī)安裝遇到的坑,本文給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2021-03-03

最新評論

宁德市| 土默特左旗| 左权县| 新民市| 水富县| 高密市| 南京市| 东乌| 岚皋县| 洛阳市| 渑池县| 綦江县| 天柱县| 马公市| 凤山市| 漾濞| 视频| 车致| 凤庆县| 三亚市| 驻马店市| 乌鲁木齐县| 连山| 凤冈县| 呈贡县| 石嘴山市| 东安县| 游戏| 麻江县| 溧阳市| 靖州| 新乡县| 屏东县| 厦门市| 子洲县| 石门县| 白银市| 镇平县| 筠连县| 唐海县| 彰武县|