chinese直男口爆体育生外卖, 99久久er热在这里只有精品99, 又色又爽又黄18禁美女裸身无遮挡, gogogo高清免费观看日本电视,私密按摩师高清版在线,人妻视频毛茸茸,91论坛 兴趣闲谈,欧美 亚洲 精品 8区,国产精品久久久久精品免费

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

研究一下linux內(nèi)存管理

Linux愛(ài)好者 ? 來(lái)源:LemonCode ? 2020-05-20 09:17 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

過(guò)去的一周有點(diǎn)魔幻,有印象的有三個(gè)新聞:天貓總裁緋聞事件,蘑菇街裁員,不可能打工的周某也放出來(lái)了。三件事,兩件和互聯(lián)網(wǎng)行業(yè)相關(guān),好像外面的世界很是精彩??!吃瓜歸吃瓜,學(xué)習(xí)還是不能落下。

連續(xù)寫了兩周的「微服務(wù)」有點(diǎn)膩,不過(guò)這個(gè)系列還會(huì)繼續(xù)寫。今天來(lái)帶大家研究一下Linux內(nèi)存管理。

對(duì)于精通CURD的業(yè)務(wù)同學(xué),內(nèi)存管理好像離我們很遠(yuǎn),但這個(gè)知識(shí)點(diǎn)雖然冷門(估計(jì)很多人學(xué)完根本就沒(méi)機(jī)會(huì)用上)但絕對(duì)是基礎(chǔ)中的基礎(chǔ)。

這就像武俠小說(shuō)中的內(nèi)功修煉,學(xué)完之后看不到立竿見影的效果,但對(duì)你日后的開發(fā)工作是大有裨益的,因?yàn)槟阏镜母吡恕?/p>

文中所有示例圖都是我親手畫的,畫圖比碼字還費(fèi)時(shí)間,但大家看圖理解比文字更直觀,所以還是畫了。需要高清示例圖片的同學(xué),文末有獲取方式自取。

再功利點(diǎn)的說(shuō),面試的時(shí)候不經(jīng)意間透露你懂這方面知識(shí),并且能說(shuō)出個(gè)一二三來(lái),也許能讓面試官對(duì)你更有興趣,離升職加薪,走上人生巔峰又近了一步。

前提約定:本文討論技術(shù)內(nèi)容前提,操作系統(tǒng)環(huán)境都是x86架構(gòu)的 32 位Linux系統(tǒng)。

虛擬地址

即使是現(xiàn)代操作系統(tǒng)中,內(nèi)存依然是計(jì)算機(jī)中很寶貴的資源,看看你電腦幾個(gè)T固態(tài)硬盤,再看看內(nèi)存大小就知道了。

為了充分利用和管理系統(tǒng)內(nèi)存資源,Linux采用虛擬內(nèi)存管理技術(shù),利用虛擬內(nèi)存技術(shù)讓每個(gè)進(jìn)程都有4GB互不干涉的虛擬地址空間。

進(jìn)程初始化分配和操作的都是基于這個(gè)「虛擬地址」,只有當(dāng)進(jìn)程需要實(shí)際訪問(wèn)內(nèi)存資源的時(shí)候才會(huì)建立虛擬地址和物理地址的映射,調(diào)入物理內(nèi)存頁(yè)。

打個(gè)不是很恰當(dāng)?shù)谋确?,這個(gè)原理其實(shí)和現(xiàn)在的某某網(wǎng)盤一樣。假如你的網(wǎng)盤空間是1TB,真以為就一口氣給了你這么大空間嗎?那還是太年輕,都是在你往里面放東西的時(shí)候才給你分配空間,你放多少就分多少實(shí)際空間給你,但你和你朋友看起來(lái)就像大家都擁有1TB空間一樣。

虛擬地址的好處

避免用戶直接訪問(wèn)物理內(nèi)存地址,防止一些破壞性操作,保護(hù)操作系統(tǒng)

每個(gè)進(jìn)程都被分配了4GB的虛擬內(nèi)存,用戶程序可使用比實(shí)際物理內(nèi)存更大的地址空間

4GB的進(jìn)程虛擬地址空間被分成兩部分:「用戶空間」和「內(nèi)核空間」

用戶空間內(nèi)核空間

物理地址

上面章節(jié)我們已經(jīng)知道不管是用戶空間還是內(nèi)核空間,使用的地址都是虛擬地址,當(dāng)需進(jìn)程要實(shí)際訪問(wèn)內(nèi)存的時(shí)候,會(huì)由內(nèi)核的「請(qǐng)求分頁(yè)機(jī)制」產(chǎn)生「缺頁(yè)異?!拐{(diào)入物理內(nèi)存頁(yè)。

把虛擬地址轉(zhuǎn)換成內(nèi)存的物理地址,這中間涉及利用MMU內(nèi)存管理單元(Memory Management Unit ) 對(duì)虛擬地址分段和分頁(yè)(段頁(yè)式)地址轉(zhuǎn)換,關(guān)于分段和分頁(yè)的具體流程,這里不再贅述,可以參考任何一本計(jì)算機(jī)組成原理教材描述。

段頁(yè)式內(nèi)存管理地址轉(zhuǎn)換

Linux內(nèi)核會(huì)將物理內(nèi)存分為3個(gè)管理區(qū),分別是:

ZONE_DMA

DMA內(nèi)存區(qū)域。包含0MB~16MB之間的內(nèi)存頁(yè)框,可以由老式基于ISA的設(shè)備通過(guò)DMA使用,直接映射到內(nèi)核的地址空間。

ZONE_NORMAL

普通內(nèi)存區(qū)域。包含16MB~896MB之間的內(nèi)存頁(yè)框,常規(guī)頁(yè)框,直接映射到內(nèi)核的地址空間。

ZONE_HIGHMEM

高端內(nèi)存區(qū)域。包含896MB以上的內(nèi)存頁(yè)框,不進(jìn)行直接映射,可以通過(guò)永久映射和臨時(shí)映射進(jìn)行這部分內(nèi)存頁(yè)框的訪問(wèn)。

物理內(nèi)存區(qū)劃分

用戶空間

用戶進(jìn)程能訪問(wèn)的是「用戶空間」,每個(gè)進(jìn)程都有自己獨(dú)立的用戶空間,虛擬地址范圍從從0x00000000至0xBFFFFFFF總?cè)萘?G 。

用戶進(jìn)程通常只能訪問(wèn)用戶空間的虛擬地址,只有在執(zhí)行內(nèi)陷操作或系統(tǒng)調(diào)用時(shí)才能訪問(wèn)內(nèi)核空間。

進(jìn)程與內(nèi)存

進(jìn)程(執(zhí)行的程序)占用的用戶空間按照「 訪問(wèn)屬性一致的地址空間存放在一起 」的原則,劃分成5個(gè)不同的內(nèi)存區(qū)域。訪問(wèn)屬性指的是“可讀、可寫、可執(zhí)行等 。

代碼段

代碼段是用來(lái)存放可執(zhí)行文件的操作指令,可執(zhí)行程序在內(nèi)存中的鏡像。代碼段需要防止在運(yùn)行時(shí)被非法修改,所以只準(zhǔn)許讀取操作,它是不可寫的。

數(shù)據(jù)段

數(shù)據(jù)段用來(lái)存放可執(zhí)行文件中已初始化全局變量,換句話說(shuō)就是存放程序靜態(tài)分配的變量和全局變量。

BSS段

BSS段包含了程序中未初始化的全局變量,在內(nèi)存中bss段全部置零。

堆heap

堆是用于存放進(jìn)程運(yùn)行中被動(dòng)態(tài)分配的內(nèi)存段,它的大小并不固定,可動(dòng)態(tài)擴(kuò)張或縮減。當(dāng)進(jìn)程調(diào)用malloc等函數(shù)分配內(nèi)存時(shí),新分配的內(nèi)存就被動(dòng)態(tài)添加到堆上(堆被擴(kuò)張);當(dāng)利用free等函數(shù)釋放內(nèi)存時(shí),被釋放的內(nèi)存從堆中被剔除(堆被縮減)

棧stack

棧是用戶存放程序臨時(shí)創(chuàng)建的局部變量,也就是函數(shù)中定義的變量(但不包括static聲明的變量,static意味著在數(shù)據(jù)段中存放變量)。除此以外,在函數(shù)被調(diào)用時(shí),其參數(shù)也會(huì)被壓入發(fā)起調(diào)用的進(jìn)程棧中,并且待到調(diào)用結(jié)束后,函數(shù)的返回值也會(huì)被存放回棧中。由于棧的先進(jìn)先出特點(diǎn),所以棧特別方便用來(lái)保存/恢復(fù)調(diào)用現(xiàn)場(chǎng)。從這個(gè)意義上講,我們可以把堆棧看成一個(gè)寄存、交換臨時(shí)數(shù)據(jù)的內(nèi)存區(qū)。

上述幾種內(nèi)存區(qū)域中數(shù)據(jù)段、BSS段、堆通常是被連續(xù)存儲(chǔ)在內(nèi)存中,在位置上是連續(xù)的,而代碼段和棧往往會(huì)被獨(dú)立存放。堆和棧兩個(gè)區(qū)域在i386體系結(jié)構(gòu)中棧向下擴(kuò)展、堆向上擴(kuò)展,相對(duì)而生。

你也可以在linux下用size命令查看編譯后程序的各個(gè)內(nèi)存區(qū)域大?。?/p>

[lemon ~]# size /usr/local/sbin/sshd text data bss dec hexfilename1924532 12412 4268962363840 2411c0/usr/local/sbin/sshd

內(nèi)核空間

在x86 32位系統(tǒng)里,Linux 內(nèi)核地址空間是指虛擬地址從0xC0000000開始到0xFFFFFFFF為止的高端內(nèi)存地址空間,總計(jì)1G的容量, 包括了內(nèi)核鏡像、物理頁(yè)面表、驅(qū)動(dòng)程序等運(yùn)行在內(nèi)核空間 。

內(nèi)核空間細(xì)分區(qū)域.

直接映射區(qū)

直接映射區(qū)Direct Memory Region:從內(nèi)核空間起始地址開始,最大896M的內(nèi)核空間地址區(qū)間,為直接內(nèi)存映射區(qū)。

直接映射區(qū)的896MB的「線性地址」直接與「物理地址」的前896MB進(jìn)行映射,也就是說(shuō)線性地址和分配的物理地址都是連續(xù)的。內(nèi)核地址空間的線性地址0xC0000001所對(duì)應(yīng)的物理地址為0x00000001,它們之間相差一個(gè)偏移量PAGE_OFFSET = 0xC0000000

該區(qū)域的線性地址和物理地址存在線性轉(zhuǎn)換關(guān)系「線性地址 =PAGE_OFFSET+ 物理地址」也可以用virt_to_phys()函數(shù)將內(nèi)核虛擬空間中的線性地址轉(zhuǎn)化為物理地址。

高端內(nèi)存線性地址空間

內(nèi)核空間線性地址從 896M 到 1G 的區(qū)間,容量 128MB 的地址區(qū)間是高端內(nèi)存線性地址空間,為什么叫高端內(nèi)存線性地址空間?下面給你解釋一下:

前面已經(jīng)說(shuō)過(guò),內(nèi)核空間的總大小 1GB,從內(nèi)核空間起始地址開始的 896MB 的線性地址可以直接映射到物理地址大小為 896MB 的地址區(qū)間。

退一萬(wàn)步,即使內(nèi)核空間的1GB線性地址都映射到物理地址,那也最多只能尋址 1GB 大小的物理內(nèi)存地址范圍。

請(qǐng)問(wèn)你現(xiàn)在你家的內(nèi)存條多大?快醒醒都 0202 年了,一般 PC 的內(nèi)存都大于 1GB 了吧!

所以,內(nèi)核空間拿出了最后的 128M 地址區(qū)間,劃分成下面三個(gè)高端內(nèi)存映射區(qū),以達(dá)到對(duì)整個(gè)物理地址范圍的尋址。而在 64 位的系統(tǒng)上就不存在這樣的問(wèn)題了,因?yàn)榭捎玫木€性地址空間遠(yuǎn)大于可安裝的內(nèi)存。

動(dòng)態(tài)內(nèi)存映射區(qū)

vmalloc Region該區(qū)域由內(nèi)核函數(shù)vmalloc來(lái)分配,特點(diǎn)是:線性空間連續(xù),但是對(duì)應(yīng)的物理地址空間不一定連續(xù)。vmalloc分配的線性地址所對(duì)應(yīng)的物理頁(yè)可能處于低端內(nèi)存,也可能處于高端內(nèi)存。

永久內(nèi)存映射區(qū)

Persistent Kernel Mapping Region該區(qū)域可訪問(wèn)高端內(nèi)存。訪問(wèn)方法是使用alloc_page (_GFP_HIGHMEM)分配高端內(nèi)存頁(yè)或者使用kmap函數(shù)將分配到的高端內(nèi)存映射到該區(qū)域。

固定映射區(qū)

Fixing kernel Mapping Region該區(qū)域和 4G 的頂端只有 4k 的隔離帶,其每個(gè)地址項(xiàng)都服務(wù)于特定的用途,如ACPI_BASE等。

內(nèi)核空間物理內(nèi)存映射

回顧一下

上面講的有點(diǎn)多,先別著急進(jìn)入下一節(jié),在這之前我們?cè)賮?lái)回顧一下上面所講的內(nèi)容。如果認(rèn)真看完上面的章節(jié),我這里再畫了一張圖,現(xiàn)在你的腦海中應(yīng)該有這樣一個(gè)內(nèi)存管理的全局圖。

內(nèi)核空間用戶空間全圖

內(nèi)存數(shù)據(jù)結(jié)構(gòu)

要讓內(nèi)核管理系統(tǒng)中的虛擬內(nèi)存,必然要從中抽象出內(nèi)存管理數(shù)據(jù)結(jié)構(gòu),內(nèi)存管理操作如「分配、釋放等」都基于這些數(shù)據(jù)結(jié)構(gòu)操作,這里列舉兩個(gè)管理虛擬內(nèi)存區(qū)域的數(shù)據(jù)結(jié)構(gòu)。

用戶空間內(nèi)存數(shù)據(jù)結(jié)構(gòu)

在前面「進(jìn)程與內(nèi)存」章節(jié)我們提到,Linux進(jìn)程可以劃分為 5 個(gè)不同的內(nèi)存區(qū)域,分別是:代碼段、數(shù)據(jù)段、BSS、堆、棧,內(nèi)核管理這些區(qū)域的方式是,將這些內(nèi)存區(qū)域抽象成vm_area_struct的內(nèi)存管理對(duì)象。

vm_area_struct是描述進(jìn)程地址空間的基本管理單元,一個(gè)進(jìn)程往往需要多個(gè)vm_area_struct來(lái)描述它的用戶空間虛擬地址,需要使用「鏈表」和「紅黑樹」來(lái)組織各個(gè)vm_area_struct。

鏈表用于需要遍歷全部節(jié)點(diǎn)的時(shí)候用,而紅黑樹適用于在地址空間中定位特定內(nèi)存區(qū)域。內(nèi)核為了內(nèi)存區(qū)域上的各種不同操作都能獲得高性能,所以同時(shí)使用了這兩種數(shù)據(jù)結(jié)構(gòu)。

用戶空間進(jìn)程的地址管理模型:

wm_arem_struct

內(nèi)核空間動(dòng)態(tài)分配內(nèi)存數(shù)據(jù)結(jié)構(gòu)

在內(nèi)核空間章節(jié)我們提到過(guò)「動(dòng)態(tài)內(nèi)存映射區(qū)」,該區(qū)域由內(nèi)核函數(shù)vmalloc來(lái)分配,特點(diǎn)是:線性空間連續(xù),但是對(duì)應(yīng)的物理地址空間不一定連續(xù)。vmalloc分配的線性地址所對(duì)應(yīng)的物理頁(yè)可能處于低端內(nèi)存,也可能處于高端內(nèi)存。

vmalloc分配的地址則限于vmalloc_start與vmalloc_end之間。每一塊vmalloc分配的內(nèi)核虛擬內(nèi)存都對(duì)應(yīng)一個(gè)vm_struct結(jié)構(gòu)體,不同的內(nèi)核空間虛擬地址之間有4k大小的防越界空閑區(qū)間隔區(qū)。

與用戶空間的虛擬地址特性一樣,這些虛擬地址與物理內(nèi)存沒(méi)有簡(jiǎn)單的映射關(guān)系,必須通過(guò)內(nèi)核頁(yè)表才可轉(zhuǎn)換為物理地址或物理頁(yè),它們有可能尚未被映射,當(dāng)發(fā)生缺頁(yè)時(shí)才真正分配物理頁(yè)面。

動(dòng)態(tài)內(nèi)存映射

總結(jié)一下

Linux內(nèi)存管理是一個(gè)非常復(fù)雜的系統(tǒng),本文所述只是冰山一角,從宏觀角度給你展現(xiàn)內(nèi)存管理的全貌,但一般來(lái)說(shuō),這些知識(shí)在你和面試官聊天的時(shí)候還是夠用的,當(dāng)然也希望大家能夠通過(guò)讀書了解更深層次的原理。

本文可以作為一個(gè)索引一樣的學(xué)習(xí)指南,當(dāng)你想深入某一點(diǎn)學(xué)習(xí)的時(shí)候可以在這些章節(jié)里找到切入點(diǎn),以及這個(gè)知識(shí)點(diǎn)在內(nèi)存管理宏觀上的位置。

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問(wèn)題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • Linux
    +關(guān)注

    關(guān)注

    88

    文章

    11628

    瀏覽量

    217989
  • 固態(tài)硬盤
    +關(guān)注

    關(guān)注

    12

    文章

    1607

    瀏覽量

    60109

原文標(biāo)題:別再說(shuō)你不懂 Linux 內(nèi)存管理了,10 張圖給你安排的明明白白

文章出處:【微信號(hào):LinuxHub,微信公眾號(hào):Linux愛(ài)好者】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。

收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評(píng)論

    相關(guān)推薦
    熱點(diǎn)推薦

    支付寶“碰一下”的革新背后:國(guó)民技術(shù)MCU的隱形力量

    近日,全球頂尖金融科技盛會(huì)Money20/20公布首屆創(chuàng)新大獎(jiǎng)TheMoneyAwards結(jié)果,“支付寶碰一下”從眾多參賽企業(yè)中脫穎而出,憑借創(chuàng)新的解決方案和極致的用戶體驗(yàn)摘得“支付”類別大獎(jiǎng),成為
    的頭像 發(fā)表于 11-21 19:15 ?1088次閱讀
    支付寶“碰<b class='flag-5'>一下</b>”的革新背后:國(guó)民技術(shù)MCU的隱形力量

    奧比中光助力支付寶碰一下落地電梯場(chǎng)景

    近日,支付寶與分眾傳媒宣布聯(lián)合推出“碰一下搶紅包”服務(wù)。作為創(chuàng)新交互方式,“支付寶碰一下”首次被引入至電梯場(chǎng)景,并已在全國(guó)20余個(gè)城市的電梯鋪設(shè)。奧比中光作為“支付寶碰一下”業(yè)務(wù)的核心供應(yīng)商,為這
    的頭像 發(fā)表于 08-12 11:32 ?980次閱讀

    Linux網(wǎng)絡(luò)管理的關(guān)鍵技術(shù)和最佳實(shí)踐

    在大型互聯(lián)網(wǎng)企業(yè)中,Linux網(wǎng)絡(luò)管理是運(yùn)維工程師的核心技能之。面對(duì)海量服務(wù)器、復(fù)雜網(wǎng)絡(luò)拓?fù)?、高并發(fā)流量,運(yùn)維人員需要掌握從基礎(chǔ)網(wǎng)絡(luò)配置到高級(jí)網(wǎng)絡(luò)優(yōu)化的全套技術(shù)棧。本文將結(jié)合大廠實(shí)際場(chǎng)景,深入解析
    的頭像 發(fā)表于 07-09 09:53 ?681次閱讀

    “碰一下”支付終端應(yīng)用在酒店:智能無(wú)卡入住與客房控制

    “碰一下”支付終端和“碰一下”支付機(jī)具今年已在各種餐飲零售門店推廣應(yīng)用。就連天波小編家附近的村口小超市也用上了“碰一下”支付終端。近日,鹵味龍頭企業(yè)絕味食品宣布,全國(guó)門店將接入“支付寶碰一下
    的頭像 發(fā)表于 07-04 09:57 ?626次閱讀
    “碰<b class='flag-5'>一下</b>”支付終端應(yīng)用在酒店:智能無(wú)卡入住與客房控制

    一下終端,讓自助售貨機(jī)秒變 “家里的冰箱”

    繼刷臉支付后,支付寶近日又推出了新的支付方式——碰一下支付。只需將手機(jī)輕輕靠近支付寶“碰一下”支付終端,即可完成支付,比以往要先解鎖手機(jī),調(diào)出APP的付款碼再支付的操作環(huán)節(jié)要便捷和省時(shí)許多?!芭?b class='flag-5'>一下
    的頭像 發(fā)表于 06-18 10:49 ?1441次閱讀
    碰<b class='flag-5'>一下</b>終端,讓自助售貨機(jī)秒變 “家里的冰箱”

    麻煩管理員幫忙注銷一下這個(gè)賬號(hào)

    我想要注銷jf_00115938這個(gè)賬號(hào),不想用這個(gè)平臺(tái),出于隱私保護(hù),麻煩管理員幫忙注銷一下
    發(fā)表于 06-10 08:51

    Linux系統(tǒng)管理的核心概念

    在前篇文章中,我們深入探討了Linux中的文件操作命令,如cp、mv、rm,以及文本處理命令grep、wc和管道符。本文將繼續(xù)深入Linux系統(tǒng)管理的核心概念,包括root用戶的角色
    的頭像 發(fā)表于 05-15 17:05 ?493次閱讀

    Linux權(quán)限管理基礎(chǔ)入門

    Linux的廣闊天空中,權(quán)限管理猶如只翱翔的雄鷹,掌控著系統(tǒng)的安全與秩序。掌握Linux權(quán)限,不僅能讓你的系統(tǒng)管理更加得心應(yīng)手,還能有效
    的頭像 發(fā)表于 05-06 13:44 ?554次閱讀
    <b class='flag-5'>Linux</b>權(quán)限<b class='flag-5'>管理</b>基礎(chǔ)入門

    Linux系統(tǒng)進(jìn)程管理入門指南

    Linux 系統(tǒng)中,進(jìn)程是正在運(yùn)行的程序的實(shí)例。理解進(jìn)程的管理、查看和控制對(duì)于系統(tǒng)管理員和開發(fā)者來(lái)說(shuō)非常重要
    的頭像 發(fā)表于 04-22 14:34 ?857次閱讀
    <b class='flag-5'>Linux</b>系統(tǒng)進(jìn)程<b class='flag-5'>管理</b>入門指南

    LinuxVim編輯器的使用技巧

    【Vim】常用總結(jié)? 簡(jiǎn)介? image 什么是vim?? Linux兩大編輯神器之 vim ? Linux/Unix使用最多的編輯器
    的頭像 發(fā)表于 04-01 17:36 ?1030次閱讀
    <b class='flag-5'>Linux</b><b class='flag-5'>下</b>Vim編輯器的使用技巧

    Linux安裝軟件有哪些方法

    Linux安裝軟件,可以有哪些方法? 首先是最簡(jiǎn)單的,使用軟件包管理工具。 如果是ubuntu或者debian系統(tǒng),可以使用apt;如果是紅帽或者centos,可以使用yum。 所以當(dāng)你發(fā)現(xiàn)系統(tǒng)
    的頭像 發(fā)表于 02-08 09:41 ?1022次閱讀

    Linux服務(wù)器卡頓救星之招釋放Cache內(nèi)存

    在程序運(yùn)行結(jié)束后不會(huì)自動(dòng)釋放。這可能會(huì)導(dǎo)致程序頻繁讀寫文件后可用物理內(nèi)存變得很少,必要時(shí)(比如內(nèi)存確實(shí)不夠用),需要主動(dòng)釋放緩存內(nèi)存。 注意:般情況
    的頭像 發(fā)表于 01-16 10:04 ?2162次閱讀

    “碰一下”支付背后的4G技術(shù)

    不知道你是否有留意,近期,在線下支付場(chǎng)景中,多了個(gè)支付寶“碰一下”支付的設(shè)備,只需要“解鎖手機(jī)—碰一下—確認(rèn)”即可完成支付,對(duì)比打開付款碼支付,步驟確實(shí)更加簡(jiǎn)潔。
    的頭像 發(fā)表于 01-03 16:27 ?5009次閱讀

    支付寶發(fā)布新代AI視覺(jué)搜索“探一下

    支付寶近日正式推出了基于自研多模態(tài)大模型技術(shù)的新代AI視覺(jué)搜索產(chǎn)品——“探一下”。這創(chuàng)新產(chǎn)品的問(wèn)世,標(biāo)志著支付寶在AI技術(shù)應(yīng)用領(lǐng)域邁出了重要步。 “探
    的頭像 發(fā)表于 12-31 10:49 ?942次閱讀

    干貨來(lái)嘍!實(shí)用樹莓派Linux編譯指南

    不友好,有沒(méi)有好的解決辦法? 今天來(lái)分享一下我的私藏干貨——樹莓派Linux編譯。編譯好之后,開發(fā)板只需插到樹莓派上連接電腦就可以直接用了,極其方便。 本文以樹莓派為例,其他板子只要帶Linux系統(tǒng)的,大體上也都可以按這個(gè)操作。
    的頭像 發(fā)表于 12-18 16:31 ?840次閱讀
    干貨來(lái)嘍!實(shí)用樹莓派<b class='flag-5'>Linux</b>編譯指南