dstat用法

監(jiān)控CPU\MEN: dstat --top-mem --top-io --top-cpu
常用常規(guī)監(jiān)控:dstat -cmsdnl -D sda1 -N lo,ens33 100 5

dstat 性能監(jiān)測(cè)工具

dstat 是一個(gè)可以取代vmstat剃盾,iostat溃斋,netstat和ifstat這些命令的多功能產(chǎn)品春霍。dstat克服了這些命令的局限并增加了一些另外的功能,增加了監(jiān)控項(xiàng)欧芽,也變得更靈活了。dstat可以很方便監(jiān)控系統(tǒng)運(yùn)行狀況并用于基準(zhǔn)測(cè)試和排除故障。

dstat可以讓你實(shí)時(shí)地看到所有系統(tǒng)資源龙助,例如蔗坯,你能夠通過統(tǒng)計(jì)IDE控制器當(dāng)前狀態(tài)來比較磁盤利用率康震,或者直接通過網(wǎng)絡(luò)帶寬數(shù)值來比較磁盤的吞吐率(在相同的時(shí)間間隔內(nèi))。

dstat將以列表的形式為你提供選項(xiàng)信息并清晰地告訴你是在何種幅度和單位顯示輸出宾濒。這樣更好地避免了信息混亂和誤報(bào)腿短。更重要的是,它可以讓你更容易編寫插件來收集你想要的數(shù)據(jù)信息,以從未有過的方式進(jìn)行擴(kuò)展答姥。

Dstat的默認(rèn)輸出是專門為人們實(shí)時(shí)查看而設(shè)計(jì)的铣除,不過你也可以將詳細(xì)信息通過CSV輸出到一個(gè)文件,并導(dǎo)入到Gnumeric或者Excel生成表格中鹦付。

特性

  • 結(jié)合了vmstat尚粘,iostat,ifstat敲长,netstat以及更多的信息
  • 實(shí)時(shí)顯示統(tǒng)計(jì)情況
  • 在分析和排障時(shí)可以通過啟用監(jiān)控項(xiàng)并排序
  • 模塊化設(shè)計(jì)
  • 使用python編寫的郎嫁,更方便擴(kuò)展現(xiàn)有的工作任務(wù)
  • 容易擴(kuò)展和添加你的計(jì)數(shù)器(請(qǐng)為此做出貢獻(xiàn))
  • 包含的許多擴(kuò)展插件充分說明了增加新的監(jiān)控項(xiàng)目是很方便的
  • 可以分組統(tǒng)計(jì)塊設(shè)備/網(wǎng)絡(luò)設(shè)備,并給出總數(shù)
  • 可以顯示每臺(tái)設(shè)備的當(dāng)前狀態(tài)
  • 極準(zhǔn)確的時(shí)間精度祈噪,即便是系統(tǒng)負(fù)荷較高也不會(huì)延遲顯示
  • 顯示準(zhǔn)確地單位和和限制轉(zhuǎn)換誤差范圍
  • 用不同的顏色顯示不同的單位
  • 顯示中間結(jié)果延時(shí)小于1秒
  • 支持輸出CSV格式報(bào)表泽铛,并能導(dǎo)入到Gnumeric和Excel以生成圖形

安裝方法

1. 在centos下 可以 yum -y instatll dstat

2. 下載rpm包進(jìn)行安裝

wget http://packages.sw.be/dstat/dstat-0.7.2-1.el5.rfx.noarch.rpm

rpm -ivh dstat-0.7.2-1.el5.rfx.noarch.rpm

使用方法

dstat的基本用法就是輸入dstat命令,輸出如下:

image

這是默認(rèn)輸出顯示的信息:

默認(rèn)情況下分五個(gè)區(qū)域:


1辑鲤、 --total-cpu-usage---- CPU使用率

usr:用戶空間的程序所占百分比盔腔;

sys:系統(tǒng)空間程序所占百分比;

idel:空閑百分比月褥;

wai:等待磁盤I/O所消耗的百分比弛随;

hiq:硬中斷次數(shù);

siq:軟中斷次數(shù)宁赤;


2舀透、-dsk/total-磁盤統(tǒng)計(jì)

read:讀總數(shù)

writ:寫總數(shù)


3、-net/total- 網(wǎng)絡(luò)統(tǒng)計(jì)

recv:網(wǎng)絡(luò)收包總數(shù)

send:網(wǎng)絡(luò)發(fā)包總數(shù)


4决左、---paging-- 內(nèi)存分頁統(tǒng)計(jì)

in: pagein(換入)

out:page out(換出)

注:系統(tǒng)的分頁活動(dòng)愕够。分頁指的是一種內(nèi)存管理技術(shù)用于查找系統(tǒng)場(chǎng)景,一個(gè)較大的分頁表明系統(tǒng)正在使用大量的交換空間佛猛,通常情況下當(dāng)系統(tǒng)已經(jīng)開始用交換空間的時(shí)候惑芭,就說明你的內(nèi)存已經(jīng)不夠用了,或者說內(nèi)存非常分散挚躯,理想情況下page in(換入)和page out(換出)的值是0 0强衡。


5、--system--系統(tǒng)信息

int:中斷次數(shù)

csw:上下文切換

注:中斷(int)和上下文切換(csw)码荔。這項(xiàng)統(tǒng)計(jì)僅在有比較基線時(shí)才有意義漩勤。這一欄中較高的統(tǒng)計(jì)值通常表示大量的進(jìn)程造成擁塞,需要對(duì)CPU進(jìn)行關(guān)注缩搅。你的服務(wù)器一般情況下都會(huì)運(yùn)行運(yùn)行一些程序越败,所以這項(xiàng)總是顯示一些數(shù)值。


默認(rèn)情況下硼瓣,dstat 會(huì)每隔一秒刷新一次數(shù)據(jù)究飞,一直刷新并一直輸出置谦,按 Ctrl+C 退出 "dstat";

dstat 還有許多具體的參數(shù)亿傅,可通過man dstat命令查看媒峡,

常用參數(shù)如下:

通過dstat --list可以查看dstat能使用的所有參數(shù)

  • -l :顯示負(fù)載統(tǒng)計(jì)量
  • -m :顯示內(nèi)存使用率(包括used,buffer葵擎,cache谅阿,free值)
  • -r :顯示I/O統(tǒng)計(jì)
  • -s :顯示交換分區(qū)使用情況
  • -t :將當(dāng)前時(shí)間顯示在第一行
  • –fs :顯示文件系統(tǒng)統(tǒng)計(jì)數(shù)據(jù)(包括文件總數(shù)量和inodes值)
  • –nocolor :不顯示顏色(有時(shí)候有用)
  • –socket :顯示網(wǎng)絡(luò)統(tǒng)計(jì)數(shù)據(jù)
  • –tcp :顯示常用的TCP統(tǒng)計(jì)
  • –udp :顯示監(jiān)聽的UDP接口及其當(dāng)前用量的一些動(dòng)態(tài)數(shù)據(jù)

當(dāng)然不止這些用法,dstat附帶了一些插件很大程度地?cái)U(kuò)展了它的功能酬滤。你可以通過查看/usr/share/dstat目錄來查看它們的一些使用方法签餐,常用的有這些:

  • -–disk-util :顯示某一時(shí)間磁盤的忙碌狀況
  • -–freespace :顯示當(dāng)前磁盤空間使用率
  • -–proc-count :顯示正在運(yùn)行的程序數(shù)量
  • -–top-bio :指出塊I/O最大的進(jìn)程
  • -–top-cpu :圖形化顯示CPU占用最大的進(jìn)程
  • -–top-io :顯示正常I/O最大的進(jìn)程
  • -–top-mem :顯示占用最多內(nèi)存的進(jìn)程

應(yīng)用舉例:

dstat輸出默認(rèn)監(jiān)控、報(bào)表輸出的時(shí)間間隔為3秒鐘,并且報(bào)表中輸出10個(gè)結(jié)果

<pre style="margin-top: 0px; margin-bottom: 0px; white-space: pre-wrap; overflow-wrap: break-word; font-family: "Courier New" !important; font-size: 12px !important;"># dstat 3 10</pre>

查看全部?jī)?nèi)存都有誰在占用:

<pre style="margin-top: 0px; margin-bottom: 0px; white-space: pre-wrap; overflow-wrap: break-word; font-family: "Courier New" !important; font-size: 12px !important;"># dstat -g -l -m -s --top-mem</pre>

顯示一些關(guān)于CPU資源損耗的數(shù)據(jù):

<pre style="margin-top: 0px; margin-bottom: 0px; white-space: pre-wrap; overflow-wrap: break-word; font-family: "Courier New" !important; font-size: 12px !important;"># dstat -c -y -l --proc-count --top-cpu</pre>

如何輸出一個(gè)csv文件

<pre style="margin-top: 0px; margin-bottom: 0px; white-space: pre-wrap; overflow-wrap: break-word; font-family: "Courier New" !important; font-size: 12px !important;"># dstat --output /tmp/sampleoutput.csv -cdn</pre>

一盯串、什么是dstat氯檐?

通過man幫助,可以看到官方對(duì)dstat的定義為:多功能系統(tǒng)資源統(tǒng)計(jì)生成工具( versatile tool for generating system resource statistics)体捏。在獲取的信息上有點(diǎn)類似于top冠摄、free、iostat几缭、vmstat等多個(gè)工具的合集耗拓,官方解釋為vmstat、iostat奏司、ifstat等工具的多功能替代品,且添加了許多額外的功能(Dstat is a versatile replacement for vmstat, iostat and ifstat. Dstat overcomes some of the limitations and adds some extra features.)樟插;其結(jié)果可以保持到csv文件韵洋,使用腳本或第三方工具對(duì)性能進(jìn)行分析利用(如通過監(jiān)控平臺(tái)監(jiān)控,也可以保持到數(shù)據(jù)庫)黄锤。在Centos 6.x系統(tǒng)上安裝基本服務(wù)器即默認(rèn)安裝搪缨,而在其他操作系統(tǒng)可能需要手動(dòng)安裝。

二鸵熟、dstat的基本使用:

2.1 dstat的默認(rèn)選項(xiàng)

與許多命令一樣副编,dstat命令有默認(rèn)選項(xiàng),執(zhí)行dstat命令不加任何參數(shù)流强,它默認(rèn)會(huì)收集-cpu-痹届、-disk-、-net-打月、-paging-队腐、-system-的數(shù)據(jù),一秒鐘收集一次奏篙。 默認(rèn)輸入 dstat 等于輸入了dstat -cdngy 1或dstat -a 1柴淘。

2.2 dstat的常用選項(xiàng):

dstat的用法如下:

dstat [-afv] [options..] [delay [count]]

使用 dstat -h查看全部選項(xiàng),這里不逐一列舉,下面簡(jiǎn)單介紹下常用選項(xiàng)

常用選項(xiàng)如下:

直接跟數(shù)字为严,表示#秒收集一次數(shù)據(jù)敛熬,默認(rèn)為一秒;dstat 5表示5秒更新一次

-c,--cpu 統(tǒng)計(jì)CPU狀態(tài)第股,包括 user, system, idle(空閑等待時(shí)間百分比), wait(等待磁盤IO), hardware interrupt(硬件中斷), software interrupt(軟件中斷)等应民;

-d, --disk 統(tǒng)計(jì)磁盤讀寫狀態(tài)

-D total,sda 統(tǒng)計(jì)指定磁盤或匯總信息

-l, --load 統(tǒng)計(jì)系統(tǒng)負(fù)載情況,包括1分鐘炸茧、5分鐘瑞妇、15分鐘平均值

-m, --mem 統(tǒng)計(jì)系統(tǒng)物理內(nèi)存使用情況,包括used, buffers, cache, free

-s, --swap 統(tǒng)計(jì)swap已使用和剩余量

-n, --net 統(tǒng)計(jì)網(wǎng)絡(luò)使用情況梭冠,包括接收和發(fā)送數(shù)據(jù)

-N eth1,total 統(tǒng)計(jì)eth1接口匯總流量

-r, --io 統(tǒng)計(jì)I/O請(qǐng)求辕狰,包括讀寫請(qǐng)求

-p, --proc 統(tǒng)計(jì)進(jìn)程信息,包括runnable控漠、uninterruptible蔓倍、new

-y, --sys 統(tǒng)計(jì)系統(tǒng)信息,包括中斷盐捷、上下文切換

-t 顯示統(tǒng)計(jì)時(shí)時(shí)間偶翅,對(duì)分析歷史數(shù)據(jù)非常有用

--fs 統(tǒng)計(jì)文件打開數(shù)和inodes數(shù)

以上這些就是最常用的選項(xiàng),而一般都組合使用碉渡,個(gè)人比較常用的是:

  • dstat -cmsdnl -D sda9 -N lo,etho 100 5

三聚谁、監(jiān)測(cè)界面各參數(shù)含義(部分)

Procs

  • r:運(yùn)行的和等待(CPU時(shí)間片)運(yùn)行的進(jìn)程數(shù),這個(gè)值也可以判斷是否需要增加CPU(長(zhǎng)期大于1)

  • b:處于不可中斷狀態(tài)的進(jìn)程數(shù)滞诺,常見的情況是由IO引起的

Memory

  • swpd: 切換到交換內(nèi)存上的內(nèi)存(默認(rèn)以KB為單位)形导。如果 swpd 的值不為0,或者還比較大习霹,比如超過100M了朵耕,但是 si, so 的值長(zhǎng)期為 0,這種情況我們可以不用擔(dān)心淋叶,不會(huì)影響系統(tǒng)性能阎曹。

  • free: 空閑的物理內(nèi)存

  • buff: 作為buffer cache的內(nèi)存,對(duì)塊設(shè)備的讀寫進(jìn)行緩沖

  • cache: 作為page cache的內(nèi)存, 文件系統(tǒng)的cache煞檩。如果 cache 的值大的時(shí)候处嫌,說明cache住的文件數(shù)多,如果頻繁訪問到的文件都能被cache住形娇,那么磁盤的讀IO bi 會(huì)非常小锰霜。

Swap

  • si: 交換內(nèi)存使用,由磁盤調(diào)入內(nèi)存

  • so: 交換內(nèi)存使用桐早,由內(nèi)存調(diào)入磁盤

內(nèi)存夠用的時(shí)候癣缅,這2個(gè)值都是0厨剪,如果這2個(gè)值長(zhǎng)期大于0時(shí),系統(tǒng)性能會(huì)受到影響友存。磁盤IO和CPU資源都會(huì)被消耗祷膳。

我發(fā)現(xiàn)有些朋友看到空閑內(nèi)存(free)很少或接近于0時(shí),就認(rèn)為內(nèi)存不夠用了屡立,實(shí)際上不能光看這一點(diǎn)的直晨,還要結(jié)合si,so,如果free很少膨俐,但是si,so也很少(大多時(shí)候是0)勇皇,那么不用擔(dān)心,系統(tǒng)性能這時(shí)不會(huì)受到影響的焚刺。

磁盤IO

  • bi: 從塊設(shè)備讀入的數(shù)據(jù)總量(讀磁盤) (KB/s)

  • bo: 寫入到塊設(shè)備的數(shù)據(jù)總理(寫磁盤) (KB/s)

注:隨機(jī)磁盤讀寫的時(shí)候敛摘,這2個(gè) 值越大(如超出1M),能看到CPU在IO等待的值也會(huì)越大

System

  • in: 每秒產(chǎn)生的中斷次數(shù)

  • cs: 每秒產(chǎn)生的上下文切換次數(shù)

上面這2個(gè)值越大乳愉,會(huì)看到由內(nèi)核消耗的CPU時(shí)間會(huì)越多

Cpu

  • usr: 用戶進(jìn)程消耗的CPU時(shí)間百分比

us 的值比較高時(shí)兄淫,說明用戶進(jìn)程消耗的CPU時(shí)間多,但是如果長(zhǎng)期超過50% 的使用蔓姚,那么我們就該考慮優(yōu)化程序算法或者進(jìn)行加速了(比如 <acronym title="Hypertext Preprocessor" style="margin: 0px; padding: 0px;">PHP</acronym>/<acronym title="Practical Extraction and Report Language" style="margin: 0px; padding: 0px;">Perl</acronym>)

  • sys: 內(nèi)核進(jìn)程消耗的CPU時(shí)間百分比

sys 的值高時(shí)捕虽,說明系統(tǒng)內(nèi)核消耗的CPU資源多,這并不是良性的表現(xiàn)坡脐,我們應(yīng)該檢查原因泄私。

  • wai: IO等待消耗的CPU時(shí)間百分比

wa 的值高時(shí),說明IO等待比較嚴(yán)重备闲,這可能是由于磁盤大量作隨機(jī)訪問造成挖滤,也有可能是磁盤的帶寬出現(xiàn)瓶頸(塊操作)。

  • idl: CPU處在空閑狀態(tài)時(shí)間百分比

四浅役、dstat的高級(jí)用法

dstat的功能非常強(qiáng)大,除了上述常用用法外伶唯,還有一些大家不常用的高級(jí)用法觉既,如下:

3.1 找出占用資源最高的進(jìn)程和用戶

--top-(io|bio|cpu|cputime|cputime-avg|mem) 通過這幾個(gè)選項(xiàng),可以看到具體是那個(gè)用戶那個(gè)進(jìn)程占用了相關(guān)系統(tǒng)資源乳幸,對(duì)系統(tǒng)調(diào)優(yōu)非常有效瞪讼。如查看當(dāng)前占用I/O、cpu粹断、內(nèi)存等最高的進(jìn)程信息可以使用dstat --top-mem --top-io --top-cpu:

[圖片上傳失敗...(image-a66ba-1537931399522)]

3.2 獲取其他應(yīng)用信息:

dstat除了可以獲取系統(tǒng)關(guān)鍵信息外符欠,還可以獲取其他應(yīng)用信息,如通過下列選項(xiàng)瓶埋,可以獲取到其他一些常用應(yīng)用信息:

--postfix 顯示postfix隊(duì)列大小

--sendmail 顯示sendmail隊(duì)列大小

--ntp 顯示ntp服務(wù)器時(shí)間

--nfs3 獲取nfs客戶端信息

--nfsd3 獲取nfs服務(wù)器信息希柿,不過nfs服務(wù)器版本需為第三版才可以诊沪,該選項(xiàng)還有更多用法影兽,可以參考man幫助獲取

--mysql5-(cmds|conn|io|keys ) 獲取mysql5相關(guān)信息

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末盟迟,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子讹俊,更是在濱河造成了極大的恐慌挤悉,老刑警劉巖渐裸,帶你破解...
    沈念sama閱讀 217,277評(píng)論 6 503
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場(chǎng)離奇詭異装悲,居然都是意外死亡昏鹃,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,689評(píng)論 3 393
  • 文/潘曉璐 我一進(jìn)店門诀诊,熙熙樓的掌柜王于貴愁眉苦臉地迎上來洞渤,“玉大人,你說我怎么就攤上這事畏梆∧埽” “怎么了?”我有些...
    開封第一講書人閱讀 163,624評(píng)論 0 353
  • 文/不壞的土叔 我叫張陵奠涌,是天一觀的道長(zhǎng)宪巨。 經(jīng)常有香客問我,道長(zhǎng)溜畅,這世上最難降的妖魔是什么捏卓? 我笑而不...
    開封第一講書人閱讀 58,356評(píng)論 1 293
  • 正文 為了忘掉前任,我火速辦了婚禮慈格,結(jié)果婚禮上怠晴,老公的妹妹穿的比我還像新娘。我一直安慰自己浴捆,他們只是感情好蒜田,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,402評(píng)論 6 392
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著选泻,像睡著了一般冲粤。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上页眯,一...
    開封第一講書人閱讀 51,292評(píng)論 1 301
  • 那天梯捕,我揣著相機(jī)與錄音,去河邊找鬼窝撵。 笑死傀顾,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的碌奉。 我是一名探鬼主播短曾,決...
    沈念sama閱讀 40,135評(píng)論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼寒砖,長(zhǎng)吁一口氣:“原來是場(chǎng)噩夢(mèng)啊……” “哼!你這毒婦竟也來了错英?” 一聲冷哼從身側(cè)響起入撒,我...
    開封第一講書人閱讀 38,992評(píng)論 0 275
  • 序言:老撾萬榮一對(duì)情侶失蹤,失蹤者是張志新(化名)和其女友劉穎椭岩,沒想到半個(gè)月后茅逮,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,429評(píng)論 1 314
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡判哥,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,636評(píng)論 3 334
  • 正文 我和宋清朗相戀三年献雅,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片塌计。...
    茶點(diǎn)故事閱讀 39,785評(píng)論 1 348
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡挺身,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出锌仅,到底是詐尸還是另有隱情章钾,我是刑警寧澤,帶...
    沈念sama閱讀 35,492評(píng)論 5 345
  • 正文 年R本政府宣布热芹,位于F島的核電站贱傀,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏伊脓。R本人自食惡果不足惜府寒,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,092評(píng)論 3 328
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望报腔。 院中可真熱鬧株搔,春花似錦、人聲如沸纯蛾。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,723評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽翻诉。三九已至帆卓,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間米丘,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 32,858評(píng)論 1 269
  • 我被黑心中介騙來泰國打工糊啡, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留拄查,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 47,891評(píng)論 2 370
  • 正文 我出身青樓棚蓄,卻偏偏與公主長(zhǎng)得像堕扶,于是被迫代替她去往敵國和親碍脏。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,713評(píng)論 2 354

推薦閱讀更多精彩內(nèi)容

  • linux資料總章2.1 1.0寫的不好抱歉 但是2.0已經(jīng)改了很多 但是錯(cuò)誤還是無法避免 以后資料會(huì)慢慢更新 大...
    數(shù)據(jù)革命閱讀 12,161評(píng)論 2 33
  • 1. 基礎(chǔ)知識(shí) 1.1稍算、 基本概念典尾、 功能 馮諾伊曼體系結(jié)構(gòu)1、計(jì)算機(jī)處理的數(shù)據(jù)和指令一律用二進(jìn)制數(shù)表示2糊探、順序執(zhí)...
    yunpiao閱讀 5,305評(píng)論 1 22
  • 關(guān)于Mongodb的全面總結(jié) MongoDB的內(nèi)部構(gòu)造《MongoDB The Definitive Guide》...
    中v中閱讀 31,930評(píng)論 2 89
  • 這篇文章主要介紹一些常用的linux服務(wù)器性能監(jiān)控命令钾埂,包括命令的常用參數(shù)、指標(biāo)的含義以及一些交互操作科平。 幾個(gè)問題...
    dancingking閱讀 8,346評(píng)論 6 22
  • Plist文件可以直接映射為NSDictionary和NSArray褥紫,是使用非常廣泛了一種文件格式。 iOS項(xiàng)目開...
    Tomychen閱讀 1,405評(píng)論 0 2