Linux服務(wù)器性能評(píng)估與優(yōu)化.ppt_第1頁(yè)
Linux服務(wù)器性能評(píng)估與優(yōu)化.ppt_第2頁(yè)
Linux服務(wù)器性能評(píng)估與優(yōu)化.ppt_第3頁(yè)
Linux服務(wù)器性能評(píng)估與優(yōu)化.ppt_第4頁(yè)
Linux服務(wù)器性能評(píng)估與優(yōu)化.ppt_第5頁(yè)
已閱讀5頁(yè),還剩24頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1 南非螞蟻2009年6月21日 Linux服務(wù)器性能評(píng)估與優(yōu)化 個(gè)人簡(jiǎn)介 高俊峰 網(wǎng)名 南非螞蟻IXPUB 存儲(chǔ)設(shè)備與容災(zāi)技術(shù) 及 Linux與開(kāi)源世界 版主 喜歡oracle和Unix Linux技術(shù) 平時(shí)主要活動(dòng)在ITPUB net IXPUB net ChinaU等大型技術(shù)社區(qū) 一直致力與oracle數(shù)據(jù)庫(kù) Unix Linux操作系統(tǒng)管理 優(yōu)化領(lǐng)域 現(xiàn)在主要從事oracle數(shù)據(jù)庫(kù)管理和項(xiàng)目規(guī)劃設(shè)計(jì)工作 擅長(zhǎng)oracle數(shù)據(jù)庫(kù)的備份恢復(fù) 性能調(diào)優(yōu) 對(duì)Unix Linux集群應(yīng)用也有一定的研究 通過(guò)如下方式可以聯(lián)系到我 MSN gaojf 888 QQ 397824870Email dba gao 2 影響Linux性能的因素系統(tǒng)性能評(píng)估標(biāo)準(zhǔn)系統(tǒng)性能分析工具性能評(píng)估與優(yōu)化過(guò)程O(píng)racle在Linux下的性能優(yōu)化 Linux服務(wù)器性能管理與優(yōu)化 CPU內(nèi)存磁盤(pán)I O帶寬網(wǎng)絡(luò)I O帶寬 4 一影響Linux服務(wù)器性能的因素 操作系統(tǒng)級(jí) 程序應(yīng)用級(jí) 二系統(tǒng)性能評(píng)估標(biāo)準(zhǔn) 5 5 其中 user 表示CPU處在用戶模式下的時(shí)間百分比 sys 表示CPU處在系統(tǒng)模式下的時(shí)間百分比 iowait 表示CPU等待輸入輸出完成時(shí)間的百分比 swapin 即si 表示虛擬內(nèi)存的頁(yè)導(dǎo)入 即從SWAPDISK交換到RAMswapout 即so 表示虛擬內(nèi)存的頁(yè)導(dǎo)出 即從RAM交換到SWAPDISK 三系統(tǒng)性能分析工具 Vmstat sar iostat netstat free ps top等 常用系統(tǒng)命令 常用組合方式 用vmstat sar iostat檢測(cè)是否是CPU瓶頸用free vmstat檢測(cè)是否是內(nèi)存瓶頸用iostat檢測(cè)是否是磁盤(pán)I O瓶頸用netstat檢測(cè)是否是網(wǎng)絡(luò)帶寬瓶頸 7 四Linux性能評(píng)估與優(yōu)化 1 系統(tǒng)整體性能評(píng)估 uptime命令 root web1 uptime16 38 00up118days 3 01 5users loadaverage 1 22 1 02 0 91這里需要注意的是 loadaverage這個(gè)輸出值 這三個(gè)值的大小一般不能大于系統(tǒng)CPU的個(gè)數(shù) 例如 本輸出中系統(tǒng)有8個(gè)CPU 如果loadaverage的三個(gè)值長(zhǎng)期大于8時(shí) 說(shuō)明CPU很繁忙 負(fù)載很高 可能會(huì)影響系統(tǒng)性能 但是偶爾大于8時(shí) 倒不用擔(dān)心 一般不會(huì)影響系統(tǒng)性能 相反 如果loadaverage的輸出值小于CPU的個(gè)數(shù) 則表示CPU還有空閑的時(shí)間片 比如本例中的輸出 CPU是非??臻e的 1 利用vmstat命令監(jiān)控系統(tǒng)CPU該命令可以顯示關(guān)于系統(tǒng)各種資源之間相關(guān)性能的簡(jiǎn)要信息 這里我們主要用它來(lái)看CPU一個(gè)負(fù)載情況 下面是vmstat命令在某個(gè)系統(tǒng)的輸出結(jié)果 root node1 vmstat23procs memory swap io system cpu rbswpdfreebuffcachesisobiboincsussyidwast000162240830467032001321100723019800000162240830467032001010102001100000001622408304670320011100918019900Procsr列表示運(yùn)行和等待cpu時(shí)間片的進(jìn)程數(shù) 這個(gè)值如果長(zhǎng)期大于系統(tǒng)CPU的個(gè)數(shù) 說(shuō)明CPU不足 需要增加CPU b列表示在等待資源的進(jìn)程數(shù) 比如正在等待I O 或者內(nèi)存交換等 Cpuus列顯示了用戶進(jìn)程消耗的CPU時(shí)間百分比 us的值比較高時(shí) 說(shuō)明用戶進(jìn)程消耗的cpu時(shí)間多 但是如果長(zhǎng)期大于50 就需要考慮優(yōu)化程序或算法 sy列顯示了內(nèi)核進(jìn)程消耗的CPU時(shí)間百分比 Sy的值較高時(shí) 說(shuō)明內(nèi)核消耗的CPU資源很多 根據(jù)經(jīng)驗(yàn) us sy的參考值為80 如果us sy大于80 說(shuō)明可能存在CPU資源不足 2 cpu性能評(píng)估 2 利用sar命令監(jiān)控系統(tǒng)CPU sar功能很強(qiáng)大 可以對(duì)系統(tǒng)的每個(gè)方面進(jìn)行單獨(dú)的統(tǒng)計(jì) 但是使用sar命令會(huì)增加系統(tǒng)開(kāi)銷(xiāo) 不過(guò)這些開(kāi)銷(xiāo)是可以評(píng)估的 對(duì)系統(tǒng)的統(tǒng)計(jì)結(jié)果不會(huì)有很大影響 下面是sar命令對(duì)某個(gè)系統(tǒng)的CPU統(tǒng)計(jì)輸出 root webserver sar u35Linux2 6 9 42 ELsmp webserver 11 28 2008 i686 8CPU 11 41 24AMCPU user nice system iowait steal idle11 41 27AMall0 880 000 290 000 0098 8311 41 30AMall0 130 000 170 210 0099 5011 41 33AMall0 040 000 040 000 0099 9211 41 36AMall90 080 000 130 160 009 6311 41 39AMall0 380 000 170 040 0099 41Average all0 340 000 160 050 0099 45對(duì)上面每項(xiàng)的輸出解釋如下 user列顯示了用戶進(jìn)程消耗的CPU時(shí)間百分比 nice列顯示了運(yùn)行正常進(jìn)程所消耗的CPU時(shí)間百分比 system列顯示了系統(tǒng)進(jìn)程消耗的CPU時(shí)間百分比 iowait列顯示了IO等待所占用的CPU時(shí)間百分比 steal列顯示了在內(nèi)存相對(duì)緊張的環(huán)境下pagein強(qiáng)制對(duì)不同的頁(yè)面進(jìn)行的steal操作 idle列顯示了CPU處在空閑狀態(tài)的時(shí)間百分比 你是否遇到過(guò)系統(tǒng)CPU整體利用率不高 而應(yīng)用緩慢的現(xiàn)象 在一個(gè)多CPU的系統(tǒng)中 如果程序使用了單線程 會(huì)出現(xiàn)這么一個(gè)現(xiàn)象 CPU的整體使用率不高 但是系統(tǒng)應(yīng)用卻響應(yīng)緩慢 這可能是由于程序使用單線程的原因 單線程只使用一個(gè)CPU 導(dǎo)致這個(gè)CPU占用率為100 無(wú)法處理其它請(qǐng)求 而其它的CPU卻閑置 這就導(dǎo)致了整體CPU使用率不高 而應(yīng)用緩慢現(xiàn)象的發(fā)生 問(wèn)題 1 利用free指令監(jiān)控內(nèi)存free是監(jiān)控linux內(nèi)存使用狀況最常用的指令 看下面的一個(gè)輸出 root webserver free mtotalusedfreesharedbufferscachedMem 8111718592602436299 buffers cache 6437468Swap 818908189一般有這樣一個(gè)經(jīng)驗(yàn)公式 應(yīng)用程序可用內(nèi)存 系統(tǒng)物理內(nèi)存 70 時(shí) 表示系統(tǒng)內(nèi)存資源非常充足 不影響系統(tǒng)性能 應(yīng)用程序可用內(nèi)存 系統(tǒng)物理內(nèi)存 20 時(shí) 表示系統(tǒng)內(nèi)存資源緊缺 需要增加系統(tǒng)內(nèi)存 20 應(yīng)用程序可用內(nèi)存 系統(tǒng)物理內(nèi)存 70 時(shí) 表示系統(tǒng)內(nèi)存資源基本能滿足應(yīng)用需求 暫時(shí)不影響系統(tǒng)性能 3 內(nèi)存性能評(píng)估 2 利用vmstat命令監(jiān)控內(nèi)存 root node1 vmstat23procs memory swap io system cpu rbswpdfreebuffcachesisobiboincsussyidwast000162240830467032001321100723019800000162240830467032001010102001100000001622408304670320011100918019900memoryswpd列表示切換到內(nèi)存交換區(qū)的內(nèi)存數(shù)量 以k為單位 如果swpd的值不為0 或者比較大 只要si so的值長(zhǎng)期為0 這種情況下一般不用擔(dān)心 不會(huì)影響系統(tǒng)性能 free列表示當(dāng)前空閑的物理內(nèi)存數(shù)量 以k為單位 buff列表示bufferscache的內(nèi)存數(shù)量 一般對(duì)塊設(shè)備的讀寫(xiě)才需要緩沖 cache列表示pagecached的內(nèi)存數(shù)量 一般作為文件系統(tǒng)cached 頻繁訪問(wèn)的文件都會(huì)被cached 如果cache值較大 說(shuō)明cached的文件數(shù)較多 如果此時(shí)IO中bi比較小 說(shuō)明文件系統(tǒng)效率比較好 swapsi列表示由磁盤(pán)調(diào)入內(nèi)存 也就是內(nèi)存進(jìn)入內(nèi)存交換區(qū)的數(shù)量 so列表示由內(nèi)存調(diào)入磁盤(pán) 也就是內(nèi)存交換區(qū)進(jìn)入內(nèi)存的數(shù)量 一般情況下 si so的值都為0 如果si so的值長(zhǎng)期不為0 則表示系統(tǒng)內(nèi)存不足 需要增加系統(tǒng)內(nèi)存 1 磁盤(pán)存儲(chǔ)基礎(chǔ)熟悉RAID存儲(chǔ)方式 可以根據(jù)應(yīng)用的不同 選擇不同的RAID方式 盡可能用內(nèi)存的讀寫(xiě)代替直接磁盤(pán)I O 使頻繁訪問(wèn)的文件或數(shù)據(jù)放入內(nèi)存中進(jìn)行操作處理 因?yàn)閮?nèi)存讀寫(xiě)操作比直接磁盤(pán)讀寫(xiě)的效率要高千倍 將經(jīng)常進(jìn)行讀寫(xiě)的文件與長(zhǎng)期不變的文件獨(dú)立出來(lái) 分別放置到不同的磁盤(pán)設(shè)備上 對(duì)于寫(xiě)操作頻繁的數(shù)據(jù) 可以考慮使用裸設(shè)備代替文件系統(tǒng) 使用裸設(shè)備的優(yōu)點(diǎn)有 數(shù)據(jù)可以直接讀寫(xiě) 不需要經(jīng)過(guò)操作系統(tǒng)級(jí)的緩存 節(jié)省了內(nèi)存資源 避免了內(nèi)存資源爭(zhēng)用 避免了文件系統(tǒng)級(jí)的維護(hù)開(kāi)銷(xiāo) 比如文件系統(tǒng)需要維護(hù)超級(jí)塊 I node等 避免了操作系統(tǒng)的cache預(yù)讀功能 減少了I O請(qǐng)求 使用裸設(shè)備的缺點(diǎn)是 數(shù)據(jù)管理 空間管理不靈活 需要很專(zhuān)業(yè)的人來(lái)操作 4 磁盤(pán)I O性能評(píng)估 14 2 利用iostat評(píng)估磁盤(pán)性能 root webserver iostat d23Linux2 6 9 42 ELsmp webserver 12 01 2008 i686 8CPU Device tpsBlk read sBlk wrtn sBlk readBlk wrtnsda1 872 58114 126479462286537372Device tpsBlk read sBlk wrtn sBlk readBlk wrtnsda0 000 000 0000Device tpsBlk read sBlk wrtn sBlk readBlk wrtnsda1 000 0012 00024對(duì)上面每項(xiàng)的輸出解釋如下 Blk read s表示每秒讀取的數(shù)據(jù)塊數(shù) Blk wrtn s表示每秒寫(xiě)入的數(shù)據(jù)塊數(shù) Blk read表示讀取的所有塊數(shù) Blk wrtn表示寫(xiě)入的所有塊數(shù) 可以通過(guò)Blk read s和Blk wrtn s的值對(duì)磁盤(pán)的讀寫(xiě)性能有一個(gè)基本的了解 如果Blk wrtn s值很大 表示磁盤(pán)的寫(xiě)操作很頻繁 可以考慮優(yōu)化磁盤(pán)或者優(yōu)化程序 如果Blk read s值很大 表示磁盤(pán)直接讀取操作很多 可以將讀取的數(shù)據(jù)放入內(nèi)存中進(jìn)行操作 對(duì)于這兩個(gè)選項(xiàng)的值沒(méi)有一個(gè)固定的大小 根據(jù)系統(tǒng)應(yīng)用的不同 會(huì)有不同的值 但是有一個(gè)規(guī)則還是可以遵循的 長(zhǎng)期的 超大的數(shù)據(jù)讀寫(xiě) 肯定是不正常的 這種情況一定會(huì)影響系統(tǒng)性能 15 3 利用sar評(píng)估磁盤(pán)性能通過(guò) sar d 組合 可以對(duì)系統(tǒng)的磁盤(pán)IO做一個(gè)基本的統(tǒng)計(jì) 請(qǐng)看下面的一個(gè)輸出 root webserver sar d23Linux2 6 9 42 ELsmp webserver 11 30 2008 i686 8CPU 11 09 33PMDEVtpsrd sec swr sec savgrq szavgqu szawaitsvctm util11 09 35PMdev8 00 000 000 000 000 000 000 000 0011 09 35PMDEVtpsrd sec swr sec savgrq szavgqu szawaitsvctm util11 09 37PMdev8 01 000 0012 0012 000 000 000 000 0011 09 37PMDEVtpsrd sec swr sec savgrq szavgqu szawaitsvctm util11 09 39PMdev8 01 990 0047 7624 000 000 500 250 05Average DEVtpsrd sec swr sec savgrq szavgqu szawaitsvctm utilAverage dev8 01 000 0019 9720 000 000 330 170 02需要關(guān)注的幾個(gè)參數(shù)含義 await表示平均每次設(shè)備I O操作的等待時(shí)間 以毫秒為單位 svctm表示平均每次設(shè)備I O操作的服務(wù)時(shí)間 以毫秒為單位 util表示一秒中有百分之幾的時(shí)間用于I O操作 16 3 利用sar評(píng)估磁盤(pán)性能對(duì)以磁盤(pán)IO性能 一般有如下評(píng)判標(biāo)準(zhǔn) 正常情況下svctm應(yīng)該是小于await值的 而svctm的大小和磁盤(pán)性能有關(guān) CPU 內(nèi)存的負(fù)荷也會(huì)對(duì)svctm值造成影響 過(guò)多的請(qǐng)求也會(huì)間接的導(dǎo)致svctm值的增加 await值的大小一般取決與svctm的值和I O隊(duì)列長(zhǎng)度以及I O請(qǐng)求模式 如果svctm的值與await很接近 表示幾乎沒(méi)有I O等待 磁盤(pán)性能很好 如果await的值遠(yuǎn)高于svctm的值 則表示I O隊(duì)列等待太長(zhǎng) 系統(tǒng)上運(yùn)行的應(yīng)用程序?qū)⒆兟?此時(shí)可以通過(guò)更換更快的硬盤(pán)來(lái)解決問(wèn)題 util項(xiàng)的值也是衡量磁盤(pán)I O的一個(gè)重要指標(biāo) 如果 util接近100 表示磁盤(pán)產(chǎn)生的I O請(qǐng)求太多 I O系統(tǒng)已經(jīng)滿負(fù)荷的在工作 該磁盤(pán)可能存在瓶頸 長(zhǎng)期下去 勢(shì)必影響系統(tǒng)的性能 可以通過(guò)優(yōu)化程序或者通過(guò)更換更高 更快的磁盤(pán)來(lái)解決此問(wèn)題 5 網(wǎng)絡(luò)性能評(píng)估 1 通過(guò)ping命令檢測(cè)網(wǎng)絡(luò)的連通性 2 通過(guò)netstat i組合檢測(cè)網(wǎng)絡(luò)接口狀況 3 通過(guò)netstat r組合檢測(cè)系統(tǒng)的路由表信息 4 通過(guò)sar n組合顯示系統(tǒng)的網(wǎng)絡(luò)運(yùn)行狀態(tài) 五Oracle在Linux下的性能優(yōu)化 Oracle數(shù)據(jù)庫(kù)內(nèi)存參數(shù)的優(yōu)化與oracle相關(guān)的系統(tǒng)內(nèi)核參數(shù)SGA PGA參數(shù)設(shè)置Oracle下磁盤(pán)存儲(chǔ)性能優(yōu)化文件系統(tǒng)的選擇 ext2 ext3 xfs ocfs2 OracleASM存儲(chǔ) 1 物理內(nèi)存多大2 操作系統(tǒng)估計(jì)需要使用多少內(nèi)存3 數(shù)據(jù)庫(kù)是使用文件系統(tǒng)還是裸設(shè)備4 有多少并發(fā)連接5 應(yīng)用是OLTP類(lèi)型還是OLAP類(lèi)型 1 優(yōu)化oracle參數(shù)之前需要了解的情況 2 Oracle數(shù)據(jù)庫(kù)內(nèi)存參數(shù)的優(yōu)化 1 系統(tǒng)內(nèi)核參數(shù)修改 etc sysctl conf這個(gè)文件 加入以下的語(yǔ)句 kernel shmmax 2147483648kernel shmmni 4096kernel shmall 2097152kernel sem 25032000100128fs file max 65536net ipv4 ip local port range 102465000參數(shù)依次為 Kernel shmmax 共享內(nèi)存段的最大尺寸 以字節(jié)為單位 Kernel shmmni 系統(tǒng)中共享內(nèi)存段的最大數(shù)量 Kernel shmall 共享內(nèi)存總量 以頁(yè)為單位 fs file max 文件句柄數(shù) 表示在Linux系統(tǒng)中可以打開(kāi)的文件數(shù)量 net ipv4 ip local port range 應(yīng)用程序可使用的IPv4端口范圍 需要注意的幾個(gè)參數(shù) 關(guān)于Kernel shmmaxOracleSGA由共享內(nèi)存組成 如果錯(cuò)誤設(shè)置SHMMAX可能會(huì)限制SGA的大小 SHMMAX設(shè)置不足可能會(huì)導(dǎo)致以下問(wèn)題 ORA 27123 unabletoattachtosharedmemorysegment 如果該參數(shù)設(shè)置小于OracleSGA設(shè)置 那么SGA就會(huì)被分配多個(gè)共享內(nèi)存段 這在繁忙的系統(tǒng)中可能成為性能負(fù)擔(dān) 帶來(lái)系統(tǒng)問(wèn)題 Oracle建議Kernel shmmax最好大于sga 以讓oracle共享內(nèi)存區(qū)SGA在一個(gè)共享內(nèi)存段中 從而提高性能 關(guān)于Kernel shmall表示系統(tǒng)共享內(nèi)存總大小 以頁(yè)為單位 一個(gè)32位的Linux系統(tǒng) 8G的內(nèi)存 可以設(shè)置kernel shmall 2097152 即為 2097152 4k 1024 1024 8G就是說(shuō)可用共享內(nèi)存一共8G 這里的4K是32位操作系統(tǒng)一頁(yè)的大小 即4096字節(jié) 關(guān)于Kernel shmmni表示系統(tǒng)中共享內(nèi)存段的最大數(shù)量 系統(tǒng)默認(rèn)是4096 一般無(wú)需修改 在SUNOS下還有Kernel shmmin參數(shù) 表示共享內(nèi)存段最小尺寸 勿要混肴 2 SGA PAG參數(shù)設(shè)置 Oracle在內(nèi)存管理方面的改進(jìn)Oracle9i通過(guò)參數(shù)PGA AGGREGATE TARGET參數(shù)實(shí)現(xiàn)PGA自動(dòng)管理Oracle10g通過(guò)參數(shù)SGA TARGET參數(shù)實(shí)現(xiàn)了SGA的自動(dòng)管理 Oracle11g實(shí)現(xiàn)了數(shù)據(jù)庫(kù)所有內(nèi)存塊的全自動(dòng)化管理 使得動(dòng)態(tài)管理SGA和PGA成為現(xiàn)實(shí) 自動(dòng)內(nèi)存管理的兩個(gè)參數(shù) MEMORY TARGET 表示整個(gè)ORACLE實(shí)例所能使用的內(nèi)存大小 包括PGA和SGA的整體大小 即這個(gè)參數(shù)是動(dòng)態(tài)的 可以動(dòng)態(tài)控制SGA和PGA的大小 MEMORY MAX TARGET 這個(gè)參數(shù)定義了MEMORY TARGET最大可以達(dá)到而不用重啟實(shí)例的值 如果沒(méi)有設(shè)置MEMORY MAX TARGET值 默認(rèn)等于MEMORY TARGET的值 使用動(dòng)態(tài)內(nèi)存管理時(shí) SGA TARGET和PGA AGGREGATE TARGET代表它們各自內(nèi)存區(qū)域的最小設(shè)置 要讓Oracle完全控制內(nèi)存管理 這兩個(gè)參數(shù)應(yīng)該設(shè)置為0 B Oracle五種內(nèi)存管理方式 自動(dòng)內(nèi)存管理 即AMM AutomaticMemoryManagement 自動(dòng)共享內(nèi)存管理 即ASMM AutomaticSharedMemoryManagement 手動(dòng)共享內(nèi)存管理自動(dòng)PGA管理手動(dòng)PGA管理 自動(dòng)內(nèi)存管理 AMM 默認(rèn)安裝oracle11g的實(shí)例就是AMM方式 通過(guò)如下查看 示例如下 SQL showparameterstargetNAMETYPEVALUE archive lag targetinteger0db flashback retention targetinteger1860fast start io targetinteger0fast start mttr targetinteger0memory max targetbiginteger1400Mmemory targetbiginteger1400Mpga aggregate targetbiginteger0sga targetbiginteger0注意 如果初始化參數(shù)LOCK SGA true 則AMM是不可用的 自動(dòng)共享內(nèi)存管理 自動(dòng)共享內(nèi)存管理是oracle10g引進(jìn)的 如果要使用自動(dòng)共享內(nèi)存管理 只需設(shè)置MEMORY TARGET 0 然后顯式指定SGA TARGET即可 示例如下 SQL altersystemsetmemory target 0scope both Systemal

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論