av激情亚洲男人的天堂国语,日韩欧美精品一中文字幕,无码av一区二区三区无码,国产又色又爽又刺激的a片,国产又色又爽又刺激的a片

Linux Kernel 4.1:新特性與優(yōu)化 (linux kernel 4.1)

Linux Kernel是一個(gè)開源的Unix操作系統(tǒng)內(nèi)核,由Linus Torvalds在1991年開始主持制作,它是一個(gè)高度可配置和可移植的系統(tǒng)內(nèi)核。近期,linux kernel 4.1版本發(fā)布了,這個(gè)版本作出了很多重要的特性和性能優(yōu)化。本篇文章將會(huì)介紹這些新特性和性能優(yōu)化。

創(chuàng)新互聯(lián)公司長(zhǎng)期為千余家客戶提供的網(wǎng)站建設(shè)服務(wù),團(tuán)隊(duì)從業(yè)經(jīng)驗(yàn)10年,關(guān)注不同地域、不同群體,并針對(duì)不同對(duì)象提供差異化的產(chǎn)品和服務(wù);打造開放共贏平臺(tái),與合作伙伴共同營(yíng)造健康的互聯(lián)網(wǎng)生態(tài)環(huán)境。為汨羅企業(yè)提供專業(yè)的網(wǎng)站設(shè)計(jì)、網(wǎng)站制作,汨羅網(wǎng)站改版等技術(shù)服務(wù)。擁有10多年豐富建站經(jīng)驗(yàn)和眾多成功案例,為您定制開發(fā)。

1. 系統(tǒng)能耗優(yōu)化

Linux Kernel 4.1版本在系統(tǒng)能耗優(yōu)化方面進(jìn)行了很多工作。特別是ARM64平臺(tái)上的優(yōu)化。內(nèi)核在識(shí)別CPU類型時(shí),添加了一個(gè)判斷是否是能降低電壓的CPU類型,從而實(shí)現(xiàn)了很好的能耗管理。同時(shí),內(nèi)核還支持能耗口后臺(tái)處理,此功能是基于wakeup events API實(shí)現(xiàn)的。內(nèi)核會(huì)檢測(cè)被標(biāo)記為能耗型的任務(wù),并在其進(jìn)行調(diào)度時(shí)改變CPU頻率。這樣就實(shí)現(xiàn)了很好的節(jié)能效果。

2. Devicetree支持

Devicetree是一種硬件描述的方式,可以用于描述復(fù)雜且動(dòng)態(tài)的嵌入式系統(tǒng)。它提供了一種方式,使得啟動(dòng)時(shí)任何設(shè)備都可以被正確地初始化,從而使開發(fā)人員可以使用相對(duì)少量的硬件知識(shí)創(chuàng)建一個(gè)系統(tǒng)。Linux Kernel 4.1在Devicetree方面進(jìn)行了大量的優(yōu)化和改進(jìn),這意味著發(fā)現(xiàn)和添加支持新硬件的過(guò)程變得更加簡(jiǎn)單和高效。

3. BPF(Berkeley Packet Filter)開發(fā)

Linux Kernel 4.1版本在BPF方面的工作主要集中在API的增強(qiáng)上。BPF API是內(nèi)核中一個(gè)非常重要的組件,它用于執(zhí)行用戶態(tài)代碼以完成網(wǎng)絡(luò)過(guò)濾等操作。該API通過(guò)支持新的32位指令,增強(qiáng)了自己的功能。BPF API在新版本中變得更加強(qiáng)大。

4. 文件系統(tǒng)優(yōu)化

Linux Kernel 4.1版本在文件系統(tǒng)方面進(jìn)行了很多優(yōu)化,如XFS文件系統(tǒng)上的改進(jìn),這使得從和向文件寫入數(shù)據(jù)變得更加高效。同時(shí),該版本還提供了Btrfs文件系統(tǒng)的重大改進(jìn)和增強(qiáng),包括對(duì)多個(gè)硬盤的支持和對(duì)標(biāo)記日志記錄的支持。這意味著Btrfs文件系統(tǒng)現(xiàn)在可以確定哪個(gè)副本是最近的,并在下一次啟動(dòng)時(shí)自動(dòng)重建其鏡像。

5. 安全性增強(qiáng)

隨著軟件攻擊和數(shù)據(jù)泄露事件的增多,內(nèi)核在安全性方面也進(jìn)行了很多改進(jìn)。Linux Kernel 4.1版本在SELinux方面進(jìn)行了大量的工作,此外,這個(gè)版本還為內(nèi)核添加了透明加密支持。透明加密是一種數(shù)據(jù)加密技術(shù),它將加密和解密過(guò)程隱藏在應(yīng)用程序之后。這樣,用戶可以在不知道數(shù)據(jù)已經(jīng)被加密的情況下對(duì)其進(jìn)行操作。

6. 內(nèi)存管理優(yōu)化

內(nèi)存管理是一個(gè)非常重要的和復(fù)雜的話題。Linux Kernel 4.1版本在內(nèi)存管理方面也作出了很多改進(jìn)和優(yōu)化。它提供了更好的內(nèi)存回收機(jī)制,并且支持更智能的頁(yè)面分配算法。此外,Linux系統(tǒng)現(xiàn)在支持一種新的模式,即大頁(yè)模式。這種模式通過(guò)使用大頁(yè)框架來(lái)節(jié)省內(nèi)存開銷,從而提高系統(tǒng)的效率。

在這篇文章中,我們介紹了Linux Kernel 4.1版本的一些新特性和性能優(yōu)化。這個(gè)版本作出了很多大的改進(jìn),優(yōu)化了許多關(guān)鍵部分,如系統(tǒng)能耗、文件系統(tǒng)、設(shè)備樹支持等等。同時(shí),該版本增強(qiáng)了安全性和內(nèi)存管理。Linux Kernel 4.1是一個(gè)非常出色的版本,非常值得用戶掌握。

相關(guān)問(wèn)題拓展閱讀:

  • 如何選擇一個(gè) Linux Tracer

如何選擇一個(gè) Linux Tracer

tracer 是一個(gè)高級(jí)的性能分析和診斷工具,但是不要讓這名詞唬住你,如果你使用過(guò) strace 和tcpdump,其實(shí)你就已經(jīng)使用過(guò) tracer 了。系統(tǒng) tracer 可以獲取更多的系統(tǒng)調(diào)用和數(shù)據(jù)包。它們通常能跟蹤任意的內(nèi)核和應(yīng)用程序。

有太多的 linux tracer 可以選擇。每一種都有其官方的(或非官方的)的卡通的獨(dú)角獸吉祥物,足夠撐起一臺(tái)”兒童劇”了。

那么我們應(yīng)該使用哪個(gè) tracer 呢?

我會(huì)為兩類讀者回答這個(gè)問(wèn)題,大部分人和性能/內(nèi)核工程師。過(guò)一段時(shí)間這些可能會(huì)發(fā)生變化,我會(huì)持續(xù)跟進(jìn)并補(bǔ)充,大概會(huì)一年更新一次。

多數(shù)人

多數(shù)人 (開發(fā)者,系統(tǒng)管理員,開發(fā)管理者,運(yùn)維人員,評(píng)測(cè)人員,等等) 不關(guān)心系統(tǒng)追蹤器的細(xì)節(jié)。下面是對(duì)于追蹤器你應(yīng)該知道和做的:

1. 使用perf_events分析CPU性能

使用 perf_events 做 CPU 性能分析。性能指標(biāo)可以使用flame graph 等工具做可視化。

git clone –depth 1

perf record -F 99 -a -g — sleep 30

perf script | ./FlameGraph/stackcollapse-perf.pl | ./FlameGraph/flamegraph.pl > perf.svg

Linux perf_events (又稱 “perf”,同命令名) 是 Linux 用戶的官方追蹤器和性能分析器。內(nèi)置于內(nèi)核代碼,有很好維護(hù)(近來(lái)獲得快速增強(qiáng)),通常通過(guò) linux 命令行工具包添加。

perf 有很多功能,如果只能推薦一個(gè),我選擇 CPU 性能分析。盡陵友管這只是采樣,而不是從技術(shù)上追蹤事件。最難的部分是獲取完整的棧和信息,我為 java 和 node.js 做的一個(gè)演講 Linux Profiling at Netflix中已經(jīng)說(shuō)過(guò)這個(gè)問(wèn)題

2.了解其他的Tracer

正如我一個(gè)朋友說(shuō)的:“你不需要知道如何操作 X 射線機(jī)器,但是一旦你吞了一枚硬幣,你得知道這得去做 X 射線”,你應(yīng)該了解各種 tracer 都能做什么,這樣就能在你工作中真正需要 tracer 的時(shí)候,你既可以選擇稍后學(xué)習(xí)使用,也可以雇相應(yīng)的人來(lái)完成。

簡(jiǎn)短來(lái)說(shuō):幾乎所有的東西都可以使用 tracer 來(lái)尺手槐進(jìn)行分析和跟蹤。如,文件系統(tǒng),網(wǎng)絡(luò)處理器,硬件驅(qū)動(dòng)器,全部的應(yīng)用程序??梢钥匆幌挛业膫€(gè)人網(wǎng)站上關(guān)于 ftrace的文章,還有我寫的薯螞關(guān)于perf_events 文檔介紹,可以做為一個(gè)追蹤(或者性能分析)的例子。

3. 尋求前端支持工具

如果你正想買一個(gè)能支持跟蹤 Linux 的性能分析工具(有許多賣這類工具的公司)。想像一下,只需要直接點(diǎn)擊一下界面就能“洞察”整個(gè)系統(tǒng)內(nèi)核,包括隱藏的不同堆棧位置的熱圖,我在Monitorama talk 中介紹了一個(gè)這樣帶圖形界面的工具。

我開源了一些我自己開發(fā)的前端工具,盡管只是 CLI (命令行界面)而不是(圖形界面)。這些工具也會(huì)讓人們更加快速容易的使用 tracer。比如下面的例子,用我的 perf_tool,跟蹤一個(gè)新進(jìn)程:

# ./execsnoopTracing exec()s. Ctrl-C to end.

PID PPID ARGS

man ls

preconv -e UTF-8

pager -s

nroff -mandoc -rLL=164n -rLT=164n -Tutf8

在 Netflix 上,我們創(chuàng)建了一個(gè) Vector,一個(gè)分析工具的實(shí)例同時(shí)也是 Linux 上的 tracer 的最終前端。

致性能或內(nèi)核工程師

我們的工作變的越來(lái)越困難,很多的人會(huì)問(wèn)我們?cè)趺礃尤プ粉?,哪種路徑可以用!為了正確理解一個(gè)路徑,你經(jīng)常需要花上至少100個(gè)小時(shí)才能做到。理解所有的 linux 路徑去做出理性的決定是一個(gè)浩大的工程。(我可能是唯一一個(gè)接近做到這件事情的人)

這里是我的建議,可以二選其一:

A) 選中一個(gè)全能的路徑,并且使它標(biāo)準(zhǔn)化,這將涉及花費(fèi)大量的時(shí)間去弄清楚它在測(cè)試環(huán)境中的細(xì)微差別和安全性。我現(xiàn)在推薦 SystemTap 的最新版本(ie,從源代碼構(gòu)建)。我知道有些公司已經(jīng)選用 LTTng,而且他們用的很好,盡管它不是非常的強(qiáng)大(雖然它更安全)。Sysdig 可以成為另一個(gè)候選如果它可以增加追蹤點(diǎn)或者 kprobes。

B) 遵循我上面提供的流程圖,它將意味著盡可能更多的使用 ftrace 或者 perf_event, eBPF 會(huì)得到整合,之后其他的路徑像 SystemTap/LTTng 會(huì)去填補(bǔ)這個(gè)空白。這就是我目前在 Netflix 做的工作。

tracer 的評(píng)論:

1. ftrace

我喜歡用 ftrace,它是內(nèi)核 hacker 的首選,內(nèi)置于系統(tǒng)內(nèi)核,可以使用跟蹤點(diǎn)(靜態(tài)檢查點(diǎn)),能調(diào)用內(nèi)核 kprobes 和 uprobes 調(diào)試工具。并且提供幾個(gè)這樣的功能:帶可選過(guò)濾器和參數(shù)的事件追蹤功能;在內(nèi)核中進(jìn)行統(tǒng)計(jì)的事件計(jì)數(shù)和定時(shí)功能;還有函數(shù)流程遍歷的功能。可以看一下內(nèi)核代碼中 ftrace.txt 例子了解一下。ftrace 由 /sys 控制,僅支持單一的 root 用戶使用(但是你可以通過(guò)緩沖區(qū)實(shí)例破解以支持多用戶)。某些時(shí)候 Ftrace 的操作界面非常繁瑣,但是的確非?!癶ack”,而且它有前端界面。Steven Rostedt,ftace 的主要作者,創(chuàng)建了 trace-cmd 命令工具,而我創(chuàng)建了 perf 的工具集。我對(duì)這個(gè)工具更大的不滿就是它不可編程。舉例來(lái)說(shuō),你不能保存和獲取時(shí)間戳,不能計(jì)算延遲,不能把這些計(jì)算結(jié)果保存成直方圖的形式。你需要轉(zhuǎn)儲(chǔ)事件至用戶級(jí)別,并且花一些時(shí)間去處理結(jié)果。ftrace 可以通過(guò) eBPF 變成可編程的。

2.perf_events

perf_events 是 Linux 用戶的主要跟蹤工具,它內(nèi)置在內(nèi)核源碼中,通常通過(guò) linux-tools-commom 加入。也稱“perf”,同前端工具名稱,通常用來(lái)跟蹤和轉(zhuǎn)儲(chǔ)信息到一個(gè)叫做 perf.data 的文件中,perf.data 文件相當(dāng)于一個(gè)動(dòng)態(tài)的緩沖區(qū),用來(lái)保存之后需要處理的結(jié)果。ftrace 能做到的,perf_events 大都也可以做到,perf-events 不能做函數(shù)流程遍歷,少了一點(diǎn)兒“hack”勁兒(但是對(duì)于安全/錯(cuò)誤檢查有更好的支持)。它可以進(jìn)行 CPU 分析和性能統(tǒng)計(jì),用戶級(jí)堆棧解析,也可以使用對(duì)于跟蹤每行局部變量產(chǎn)生的調(diào)試信息。它也支持多用戶并發(fā)操作。和 ftrace 一樣也不支持可編程。如果要我只推薦一款 tracer,那一定是 perf 了。它能解決眾多問(wèn)題,并且它相對(duì)較安全。

3. eBPF

extended Berkeley Packet Filter(eBPF)是一個(gè)可以在事件上運(yùn)行程序的高效內(nèi)核虛擬機(jī)(JIT)。它可能最終會(huì)提供 ftrace 和 perf_events 的內(nèi)核編程,并強(qiáng)化其他的 tracer。這是 Alexei Starovoitov 目前正在開發(fā)的,還沒有完全集成,但是從4.1開始已經(jīng)對(duì)一些優(yōu)秀的工具有足夠的內(nèi)核支持了,如塊設(shè)備I/O的延遲熱圖??蓞⒖计渲饕髡?Alexei Starovoitov 的BPF slides和eBPF samples。

4. SystemTap

SystemTap 是最強(qiáng)大的tracer。它能做所有事情,如概要分析,跟蹤點(diǎn),探針,uprobes(來(lái)自SystemTap),USDT和內(nèi)核編程等。它將程序編譯為內(nèi)核模塊,然后加載,這是一種獲取安全的巧妙做法。它也是從tree發(fā)展而來(lái),在過(guò)去有很多問(wèn)題(多的可怕)。很多不是 SystemTap 本身的錯(cuò)——它常常是之一個(gè)使用內(nèi)核追蹤功能,也是之一個(gè)碰到 bug 的。SystemTap 的最新版本好多了(必須由源代碼編譯),但是很多人仍然會(huì)被早期版本嚇到。如果你想用它,可先在測(cè)試環(huán)境中使用,并與irc.freenode.net上 的 #systemtap 開發(fā)人員交流。(Netflix 有容錯(cuò)機(jī)制,我們已經(jīng)使用了 SystemTap,但是可能我們考慮的安全方面的問(wèn)題比你們少。)我更大的不滿是,它似乎認(rèn)為你有常常沒有的內(nèi)核 debug 信息。實(shí)際上沒有它也能做很多事情,但是缺少文檔和例子(我必須自己全靠自己開始學(xué)習(xí))。

5. LTTng

LTTng 優(yōu)化了事件采集,這比其他 tracers 做得好。它從 tree 發(fā)展而來(lái),它的核心很簡(jiǎn)單:通過(guò)一組小規(guī)模的固定指令集將事件寫入追蹤緩沖區(qū),這種方式使它安全、快速,缺點(diǎn)是它沒有內(nèi)核編碼的簡(jiǎn)單途徑。我一直聽說(shuō)這不是一個(gè)大問(wèn)題,因?yàn)楸M管需要后期處理,它也已經(jīng)優(yōu)化到可以充分的度量。此外,它還首創(chuàng)了一個(gè)不同的分析技術(shù),更多對(duì)所有關(guān)注事件的黑盒記錄將稍后以 GUI 的方式進(jìn)行研究。我關(guān)心的是前期沒有考慮到要錄制的事件缺失問(wèn)題如何解決,但我真正要做的是花更多時(shí)間來(lái)看它在實(shí)踐中用的怎么樣。這是我花的時(shí)間最少的一個(gè) tracer(沒有什么特殊原因)。

6. Ktap

ktap 在過(guò)去是一款前景很好的 tracer,它使用內(nèi)核中的 lua 虛擬機(jī)處理,在沒有調(diào)試信息的情況下在嵌入式設(shè)備上運(yùn)行的很好。它分為幾個(gè)步驟,并在有一段時(shí)間似乎超過(guò)了 Linux 上所有的追蹤器。然后 eBPF 開始進(jìn)行內(nèi)核集成,而 ktap 的集成在它可以使用 eBPF 替代它自己的虛擬機(jī)后才開始。因?yàn)?eBPF 仍將持續(xù)集成幾個(gè)月,ktap 開發(fā)者要繼續(xù)等上一段時(shí)間。我希??今年晚些時(shí)候它能重新開發(fā)。

7. dtrace4linux

dtrace4linux 主要是 Paul Fox 一個(gè)人在業(yè)余時(shí)間完成的,它是 Sun DTrace 的 Linux 版本。它引入矚目,還有一些 provider 可以運(yùn)行,但是從某種程度上來(lái)說(shuō)還不完整,更多的是一種實(shí)驗(yàn)性的工具(不安全)。我認(rèn)為,顧忌到許可問(wèn)題,人們會(huì)小心翼翼的為 dtrace4linux 貢獻(xiàn)代碼:由于當(dāng)年 Sun 開源DTrace 使用的是 CDDL 協(xié)議,而 dtrace4linux 也不大可能最終進(jìn)入 Linux kernel。Paul 的方法很可能會(huì)使其成為一個(gè) add-on。我很樂(lè)意看到 Linux 平臺(tái)上的 DTrace 和這個(gè)項(xiàng)目的完成,我認(rèn)為當(dāng)我加入 Netflix 后將會(huì)花些時(shí)間來(lái)協(xié)助完成這個(gè)項(xiàng)目。然而,我還是要繼續(xù)使用內(nèi)置的 tracers,如 ftrace 和 perf_events。

8.OL DTrace

Oracle Linux DTrace為了將 DTrace 引入 Linux,特別是 Oracle Linux,做出了很大的努力。這些年來(lái)發(fā)布的多個(gè)版本表明了它的穩(wěn)定進(jìn)展。開發(fā)者們以一種對(duì)這個(gè)項(xiàng)目的前景看好的態(tài)度談?wù)撝倪M(jìn) DTrace 測(cè)試套件。很多有用的 provider 已經(jīng)完成了,如:syscall, profile, sdt, proc, sched 以及 USDT。我很期待 fbt(function boundary tracing, 用于內(nèi)核動(dòng)態(tài)跟蹤)的完成,它是 Linux 內(nèi)核上非常棒的 provider。OL DTrace 最終的成功將取決于人們對(duì)運(yùn)行 Oracle Linux(為技術(shù)支持付費(fèi))有多大興趣,另一方面取決于它是否完全開源:它的內(nèi)核元件是開源的,而我沒有看到它的用戶級(jí)別代碼。

9. sysdig

sysdig是一個(gè)使用類tcpdump語(yǔ)法來(lái)操作系統(tǒng)事件的新tracer,它使用lua提交進(jìn)程。它很優(yōu)秀,它見證了系統(tǒng)跟蹤領(lǐng)域的變革。它的局限性在于它只在當(dāng)前進(jìn)行系統(tǒng)調(diào)用,在提交進(jìn)行時(shí)將所有事件轉(zhuǎn)儲(chǔ)為用戶級(jí)別。你可以使用系統(tǒng)調(diào)用做很多事情,然而我還是很希望它能支持跟蹤點(diǎn)、kprobe和uprobe。我還期待它能支持eBPF做內(nèi)核摘要。目前,sysdig開發(fā)者正在增加容器支持。留意這些內(nèi)容。

延伸閱讀

我關(guān)于 tracer 的工作包括:

ftrace:我的 perf-tools工具集(參考實(shí)例目錄);我在 lwn.net 上的 關(guān)于ftrace的文章;LISA14的發(fā)言;還有帖子:函數(shù)計(jì)數(shù), iosnoop,opensnoop,execsnoop,TCP轉(zhuǎn)發(fā), uprobes 以及USDT。

perf_evenets:我的網(wǎng)頁(yè) perf_events實(shí)例;SCALE上的發(fā)言Netflix的Linux性能分析;還有帖子CPU采樣,靜態(tài)追蹤點(diǎn),熱點(diǎn)圖,計(jì)數(shù),內(nèi)核行追蹤,off-CPU時(shí)間圖。

eBPF:帖子eBPF:邁出一小步,和一些BPF工具(我需要發(fā)布更多)。

SystemTap:我很久以前寫了一篇有點(diǎn)過(guò)期的帖子使用SystemTap。最近,我發(fā)布了一些工具systemtap-lwtools來(lái)演示如何在沒有內(nèi)核診斷信息的情況下使用SystemTap。

LTTng:我只花了一點(diǎn)時(shí)間,還不足以發(fā)表任何內(nèi)容。

ktap:我的網(wǎng)頁(yè)ktap實(shí)例包含一些早期版本的單行小程序和腳本。

dtrace4linux:我在系統(tǒng)性能一書中給出了一些實(shí)例,并曾經(jīng)開發(fā)了一些小的修復(fù)程序,如timestamps。

OL DTrace:由于它直接由DTrace轉(zhuǎn)變而來(lái),很多我早期關(guān)于DTrace的工作都有相關(guān)性(如果在這里給出鏈接的話就太多了,可以在我的主頁(yè)上搜索)。當(dāng)它更完善時(shí),我會(huì)開發(fā)一些特殊工具。

sysdig:我向 fileslower 和 subsecond offset spectrogram 貢獻(xiàn)了代碼。

其他:我寫了關(guān)于strace 的注意事項(xiàng)。

請(qǐng)不要有更多的 tracer!如果你想知道為什么 Linux 不僅僅只有一個(gè) tracer,或者只用本身的DTrace,你可以在我的演講稿從DTrace到Linux中找到答案,從28張幻燈片開始。

關(guān)于linux kernel 4.1的介紹到此就結(jié)束了,不知道你從中找到你需要的信息了嗎 ?如果你還想了解更多這方面的信息,記得收藏關(guān)注本站。

成都服務(wù)器租用選創(chuàng)新互聯(lián),先試用再開通。
創(chuàng)新互聯(lián)(www.cdcxhl.com)提供簡(jiǎn)單好用,價(jià)格厚道的香港/美國(guó)云服務(wù)器和獨(dú)立服務(wù)器。物理服務(wù)器托管租用:四川成都、綿陽(yáng)、重慶、貴陽(yáng)機(jī)房服務(wù)器托管租用。


新聞標(biāo)題:Linux Kernel 4.1:新特性與優(yōu)化 (linux kernel 4.1)
標(biāo)題來(lái)源:http://uogjgqi.cn/article/cdeoidg.html
掃二維碼與項(xiàng)目經(jīng)理溝通

我們?cè)谖⑿派?4小時(shí)期待你的聲音

解答本文疑問(wèn)/技術(shù)咨詢/運(yùn)營(yíng)咨詢/技術(shù)建議/互聯(lián)網(wǎng)交流