專注搜索競(jìng)價(jià)代運(yùn)營(yíng)

成長(zhǎng)之選 ,效果之道!

免費(fèi)咨詢熱線:17636682598

筆記本電腦共享內(nèi)存好嗎,筆記本顯存共享內(nèi)存

筆記本電腦“內(nèi)存4G,顯存共享內(nèi)存”好還是“內(nèi)存4G顯存2G”好??jī)H就顯存來(lái)說(shuō)的話,后者好。所謂的顯存共享內(nèi)存,就是說(shuō)顯卡本身不帶多大的顯存,要用的時(shí)候跟內(nèi)存借。什么是共享

筆記本電腦“內(nèi)存4G,顯存共享內(nèi)存”好還是“內(nèi)存4G顯存2G”好?

僅就顯存來(lái)說(shuō)的話,后者好。

所謂的顯存共享內(nèi)存,就是說(shuō)顯卡本身不帶多大的顯存,要用的時(shí)候跟內(nèi)存借。

什么是共享內(nèi)存,就是有的筆記本是共享內(nèi)存,多大啊?共享內(nèi)存好嗎?和256M的哪個(gè)好

共享內(nèi)存指在多處理器的計(jì)算機(jī)系統(tǒng)中,可以被不同中央處理器(CPU)訪問(wèn)的大容量?jī)?nèi)存。由于多個(gè)CPU需要快速訪問(wèn)存儲(chǔ)器,這樣就要對(duì)存儲(chǔ)器進(jìn)行緩存(Cache)。任何一個(gè)緩存的數(shù)據(jù)被更新后,由于其他處理器也可能要存取,共享內(nèi)存就需要立即更新,否則不同的處理器可能用到不同的數(shù)據(jù)。共享內(nèi)存(sharedmemory)是Unix下的多進(jìn)程之間的通信方法,這種方法通常用于一個(gè)程序的多進(jìn)程間通信,實(shí)際上多個(gè)程序間也可以通過(guò)共享內(nèi)存來(lái)傳遞信息。

共享內(nèi)存的創(chuàng)建

共享內(nèi)存是存在于內(nèi)核級(jí)別的一種資源,在shell中可以使用ipcs命令來(lái)查看當(dāng)前系統(tǒng)IPC中的狀態(tài),在文件系統(tǒng)/proc目錄下有對(duì)其描述的相應(yīng)文件。函數(shù)shmget可以創(chuàng)建或打開一塊共享內(nèi)存區(qū)。函數(shù)原型如下:#includesys/shm.hintshmget(key_tkey,size_tsize,intflag);函數(shù)中參數(shù)key用來(lái)變換成一個(gè)標(biāo)識(shí)符,而且每一個(gè)IPC對(duì)象與一個(gè)key相對(duì)應(yīng)。當(dāng)新建一個(gè)共享內(nèi)存段時(shí),size參數(shù)為要請(qǐng)求的內(nèi)存長(zhǎng)度(以字節(jié)為單位)。注意:內(nèi)核是以頁(yè)為單位分配內(nèi)存,當(dāng)size參數(shù)的值不是系統(tǒng)內(nèi)存頁(yè)長(zhǎng)的整數(shù)倍時(shí),系統(tǒng)會(huì)分配給進(jìn)程最小的可以滿足size長(zhǎng)的頁(yè)數(shù),但是最后一頁(yè)的剩余部分內(nèi)存是不可用的。當(dāng)打開一個(gè)內(nèi)存段時(shí),參數(shù)size的值為0。參數(shù)flag中的相應(yīng)權(quán)限位初始化ipc_perm結(jié)構(gòu)體中的mode域。同時(shí)參數(shù)flag是函數(shù)行為參數(shù),它指定一些當(dāng)函數(shù)遇到阻塞或其他情況時(shí)應(yīng)做出的反應(yīng)。shmid_ds結(jié)構(gòu)初始化如表14-4所示。

編輯本段初始化

shmid_ds結(jié)構(gòu)數(shù)據(jù)初值shmid_ds結(jié)構(gòu)數(shù)據(jù)初值

shm_lpid0shm_dtime0

shm_nattach0shm_ctime系統(tǒng)當(dāng)前值

shm_atime0shm_segsz參數(shù)size

下面實(shí)例演示了使用shmget函數(shù)創(chuàng)建一塊共享內(nèi)存。程序中在調(diào)用shmget函數(shù)時(shí)指定key參數(shù)值為IPC_PRIVATE,這個(gè)參數(shù)的意義是創(chuàng)建一個(gè)新的共享內(nèi)存區(qū),當(dāng)創(chuàng)建成功后使用shell命令ipcs來(lái)顯示目前系統(tǒng)下共享內(nèi)存的狀態(tài)。命令參數(shù)-m為只顯示共享內(nèi)存的狀態(tài)。(1)在vi編輯器中編輯該程序如下:程序清單14-8create_shm.c使用shmget函數(shù)創(chuàng)建共享內(nèi)存#includesys/types.h#includesys/ipc.h#includesys/shm.h#includestdlib.h#includestdio.h#defineBUFSZ4096intmain(void){intshm_id;/*共享內(nèi)存標(biāo)識(shí)符*/shm_id=shmget(IPC_PRIVATE,BUFSZ,0666);if(shm_id0){/*創(chuàng)建共享內(nèi)存*/perror("shmget");exit(1);}printf("successfullycreatedsegment:%d\n",shm_id);system("ipcs-m");/*調(diào)用ipcs命令查看IPC*/exit(0);}(2)在shell中編譯該程序如下:$gcccreate_shm.c–ocreate_shm(3)在shell中運(yùn)行該程序如下:$./create_shmsuccessfullycreatedsegment:2752516------SharedMemorySegments--------keyshmidownerpermsbytesnattchstatus0x0000000065536root6003932162dest0x000000002654209root666409600x0056a4d52686978root60048810x0056a4d62719747root60013107210x000000002752516root66640960上述程序中使用shmget函數(shù)來(lái)創(chuàng)建一段共享內(nèi)存,并在結(jié)束前調(diào)用了系統(tǒng)shell命令ipcs–m來(lái)查看當(dāng)前系統(tǒng)IPC狀態(tài)。

編輯本段共享內(nèi)存的操作

由于共享內(nèi)存這一特殊的資源類型,使它不同于普通的文件,因此,系統(tǒng)需要為其提供專有的操作函數(shù),而這無(wú)疑增加了程序員開發(fā)的難度(需要記憶額外的專有函數(shù))。使用函數(shù)shmctl可以對(duì)共享內(nèi)存段進(jìn)行多種操作,其函數(shù)原型如下:#includesys/shm.hintshmctl(intshm_id,intcmd,structshmid_ds*buf);函數(shù)中參數(shù)shm_id為所要操作的共享內(nèi)存段的標(biāo)識(shí)符,structshmid_ds型指針參數(shù)buf的作用與參數(shù)cmd的值相關(guān),參數(shù)cmd指明了所要進(jìn)行的操作,其解釋如表14-5所示。

編輯本段cmd參數(shù)詳解

cmd的值意義

IPC_STAT取shm_id所指向內(nèi)存共享段的shmid_ds結(jié)構(gòu),對(duì)參數(shù)buf指向的結(jié)構(gòu)賦值

IPC_SET使用buf指向的結(jié)構(gòu)對(duì)sh_mid段的相關(guān)結(jié)構(gòu)賦值,只對(duì)以下幾個(gè)域有作用,shm_perm.uidshm_perm.gid以及shm_perm.mode注意此命令只有具備以下條件的進(jìn)程才可以請(qǐng)求:1.進(jìn)程的用戶ID等于shm_perm.cuid或者等于shm_perm.uid2.超級(jí)用戶特權(quán)進(jìn)程

IPC_RMID刪除shm_id所指向的共享內(nèi)存段,只有當(dāng)shmid_ds結(jié)構(gòu)的shm_nattch域?yàn)榱銜r(shí),才會(huì)真正執(zhí)行刪除命令,否則不會(huì)刪除該段注意此命令的請(qǐng)求規(guī)則與IPC_SET命令相同

SHM_LOCK鎖定共享內(nèi)存段在內(nèi)存,此命令只能由超級(jí)用戶請(qǐng)求

SHM_UNLOCK對(duì)共享內(nèi)存段解鎖,此命令只能由超級(jí)用戶請(qǐng)求

使用函數(shù)shmat將一個(gè)存在的共享內(nèi)存段連接到本進(jìn)程空間,其函數(shù)原型如下:#includesys/shm.hvoid*shmat(intshm_id,constvoid*addr,intflag);函數(shù)中參數(shù)shm_id指定要引入的共享內(nèi)存,參數(shù)addr與flag組合說(shuō)明要引入的地址值,通常只有2種用法,addr為0,表明讓內(nèi)核來(lái)決定第1個(gè)可以引入的位置。addr非零,并且flag中指定SHM_RND,則此段引入到addr所指向的位置(此操作不推薦使用,因?yàn)椴粫?huì)只對(duì)一種硬件上運(yùn)行應(yīng)用程序,為了程序的通用性推薦使用第1種方法),在flag參數(shù)中可以指定要引入的方式(讀寫方式指定)。%說(shuō)明:函數(shù)成功執(zhí)行返回值為實(shí)際引入的地址,失敗返回–1。shmat函數(shù)成功執(zhí)行會(huì)將shm_id段的shmid_ds結(jié)構(gòu)的shm_nattch計(jì)數(shù)器的值加1。當(dāng)對(duì)共享內(nèi)存段操作結(jié)束時(shí),應(yīng)調(diào)用shmdt函數(shù),作用是將指定的共享內(nèi)存段從當(dāng)前進(jìn)程空間中脫離出去。函數(shù)原型如下:#includesys/shm.hintshmdt(void*addr);參數(shù)addr是調(diào)用shmat函數(shù)的返回值,函數(shù)執(zhí)行成功返回0,并將該共享內(nèi)存的shmid_ds結(jié)構(gòu)的shm_nattch計(jì)數(shù)器減1,失敗返回–1。下面實(shí)例演示了操作共享內(nèi)存段的流程。程序的開始部分先檢測(cè)用戶是否有輸入,如出錯(cuò)則打印該命令的使用幫助。接下來(lái)從命令行讀取將要引入的共享內(nèi)存ID,使用shmat函數(shù)引入該共享內(nèi)存,并在分離該內(nèi)存之前睡眠3秒以方便查看系統(tǒng)IPC狀態(tài)。(1)在vi編輯器中編輯該程序如下:程序清單14-9opr_shm.c操作共享內(nèi)存段#includesys/types.h#includesys/ipc.h#includesys/shm.h#includestdlib.h#includestdio.hintmain(intargc,char*argv[]){intshm_id;char*shm_buf;if(argc!=2){/*命令行參數(shù)錯(cuò)誤*/printf("USAGE:atshmidentifier");/*打印幫助消息*/exit(1);}shm_id=atoi(argv[1]);/*得到要引入的共享內(nèi)存段*//*引入共享內(nèi)存段,由內(nèi)核選擇要引入的位置*/if((shm_buf=shmat(shm_id,0,0))(char*)0){perror("shmat");exit(1);}printf("segmentattachedat%p\n",shm_buf);/*輸出導(dǎo)入的位置*/system("ipcs-m");sleep(3);/*休眠*/if((shmdt(shm_buf))0){/*與導(dǎo)入的共享內(nèi)存段分離*/perror("shmdt");exit(1);}printf("segmentdetached\n");system("ipcs-m");/*再次查看系統(tǒng)IPC狀態(tài)*/exit(0);}(2)在shell中編譯該程序如下:$gccopr_shm.c–oopr_shm(3)在shell中運(yùn)行該程序如下:$./opr_shm2752516segmentattachedat0xb7f29000------SharedMemorySegments--------keyshmidownerpermsbytesnattchstatus0x0000000065536root6003932162dest0x000000002654209root666409600x0056a4d52686978root60048810x0056a4d62719747root60013107210x000000002752516root66640961segmentdetached------SharedMemorySegments--------keyshmidownerpermsbytesnattchstatus0x0000000065536root6003932162dest0x000000002654209root666409600x0056a4d52686978root60048810x0056a4d62719747root60013107210x000000002752516root66640960上述程序中從命令行中讀取所要引入的共享內(nèi)存ID,并使用shmat函數(shù)引入該內(nèi)存到當(dāng)前的進(jìn)程空間中。注意在使用shmat函數(shù)時(shí),將參數(shù)addr的值設(shè)為0,所表達(dá)的意義是由內(nèi)核來(lái)決定該共享內(nèi)存在當(dāng)前進(jìn)程中的位置。由于在編程的過(guò)程中,很少會(huì)針對(duì)某一個(gè)特定的硬件或系統(tǒng)編程,所以由內(nèi)核決定引入位置也就是shmat推薦的使用方式。在導(dǎo)入后使用shell命令ipcs–m來(lái)顯示當(dāng)前的系統(tǒng)IPC的狀態(tài),可以看出輸出信息中nattch字段為該共享內(nèi)存時(shí)的引用值,最后使用shmdt函數(shù)分離該共享內(nèi)存并打印系統(tǒng)IPC的狀態(tài)。

編輯本段共享內(nèi)存使用注意事項(xiàng)

共享內(nèi)存相比其他幾種方式有著更方便的數(shù)據(jù)控制能力,數(shù)據(jù)在讀寫過(guò)程中會(huì)更透明。當(dāng)成功導(dǎo)入一塊共享內(nèi)存后,它只是相當(dāng)于一個(gè)字符串指針來(lái)指向一塊內(nèi)存,在當(dāng)前進(jìn)程下用戶可以隨意的訪問(wèn)。缺點(diǎn)是,數(shù)據(jù)寫入進(jìn)程或數(shù)據(jù)讀出進(jìn)程中,需要附加的數(shù)據(jù)結(jié)構(gòu)控制,共享內(nèi)存通信數(shù)據(jù)結(jié)構(gòu)示意如圖14-9所示。

編輯本段結(jié)構(gòu)示意

%說(shuō)明:圖中兩個(gè)進(jìn)程同時(shí)遵循一定的規(guī)則來(lái)讀寫該內(nèi)存。同時(shí),在多進(jìn)程同步或互斥上也需要附加的代碼來(lái)輔助共享內(nèi)存機(jī)制。在共享內(nèi)存段中都是以字符串的默認(rèn)結(jié)束符為一條信息的結(jié)尾。每個(gè)進(jìn)程在讀寫時(shí)都遵守這個(gè)規(guī)則,就不會(huì)破壞數(shù)據(jù)的完整性。

蘋果筆記本電腦顯存容量共享內(nèi)存的好嗎?

不知道所謂的好不好指的哪一方面。

顯卡的顯存是通過(guò)共享內(nèi)存來(lái)實(shí)現(xiàn),意思就是將部分內(nèi)存劃給顯卡使用,這樣可用內(nèi)存就變小了,理論上肯定影響系統(tǒng)性能。

不過(guò)蘋果本本,不是用來(lái)大型游戲的,本來(lái)就不是以性能見長(zhǎng)的,賣點(diǎn)是良好的使用性。

日常應(yīng)用,內(nèi)存和集成核顯性能足夠使用了。

筆記本電腦顯存容量2gb好還是共享好?

只有傻瓜才共享內(nèi)存,共享內(nèi)存占用系統(tǒng)內(nèi)存,系統(tǒng)得卡死!筆記本如果有獨(dú)立顯存當(dāng)然還是獨(dú)立的好!

筆記本電腦共享內(nèi)存好用嗎

沒(méi)必要,平時(shí)顯卡都不會(huì)去占用這些內(nèi)存,還是你在用。一旦顯卡需要占用了,說(shuō)明這個(gè)程序你要運(yùn)行,系統(tǒng)不可能需要這么大的,只有是你主動(dòng)點(diǎn)開的一個(gè)程序調(diào)用這么大的內(nèi)存,你一改,到時(shí)候那個(gè)程序運(yùn)行不了,至于嗎?

你平時(shí)關(guān)注一下,360或者魯大師都有懸浮窗的,4G內(nèi)存一般平時(shí)用不到40%,這是后臺(tái)程序比較多的時(shí)候了。

動(dòng)態(tài)共享就是動(dòng)態(tài)的,平時(shí)還是空的,給你用的,需要的時(shí)候就變成顯卡內(nèi)存了!

筆記本是共享內(nèi)存的顯存好不好?

不存在好不好的問(wèn)題,要看使用情況。

一般來(lái)說(shuō)筆記本采用集成芯片共享內(nèi)存的顯示子系統(tǒng)性能都不如獨(dú)立芯片獨(dú)立顯存的。但也只是說(shuō)性能上不好而已。你如果是個(gè)要求顯示子系統(tǒng)強(qiáng)大的,如要作圖,玩3D游戲,演示等,肯定是以獨(dú)立顯示芯片為好。如果你是個(gè)天天要用筆記本移動(dòng)辦公干活的,對(duì)電池的使用時(shí)間有高要求的,你也不會(huì)過(guò)分去強(qiáng)調(diào)什么顯卡好不好,屏幕亮不亮,那都是高費(fèi)電的部件,筆記本電池那點(diǎn)電不夠你用的,用個(gè)集成芯片可能是個(gè)更好的解決方案。

本文分類:科技

瀏覽次數(shù):572次瀏覽

發(fā)布日期:2023-05-01 11:24:14

本文鏈接:http://godcuan.com/net/8014c6196c49ba8e432ba0f3bf5b4b57.html