鍍金池/ 問答/C  Linux/ 在一個(gè)64位系統(tǒng)中,假設(shè)實(shí)際內(nèi)存為3GB,如果程序申請(qǐng)6GB內(nèi)存,并且對(duì)申請(qǐng)來的

在一個(gè)64位系統(tǒng)中,假設(shè)實(shí)際內(nèi)存為3GB,如果程序申請(qǐng)6GB內(nèi)存,并且對(duì)申請(qǐng)來的內(nèi)存進(jìn)行寫入,結(jié)果會(huì)怎樣?

RT,在一個(gè)64位系統(tǒng)中,假設(shè)實(shí)際內(nèi)存為3GB,如果程序申請(qǐng)6GB內(nèi)存,并且對(duì)申請(qǐng)來的內(nèi)存進(jìn)行寫入,結(jié)果會(huì)怎樣?

回答
編輯回答
冷溫柔

在 RAM 不足的情況下,系統(tǒng)會(huì)將部分內(nèi)容移出,轉(zhuǎn)至虛擬內(nèi)存(通常保存在磁盤)。

不同操作系統(tǒng),虛擬內(nèi)存的大小及存放位置各不相同。例如 windows 使用 paging file(單個(gè)文件)作為虛擬內(nèi)存,而 linux 使用 swap 磁盤分區(qū)作為虛擬內(nèi)存使用。

當(dāng)使用超過 RAM + 虛擬內(nèi)存的容量時(shí),程序可能會(huì)報(bào)錯(cuò),或退出,這取決于操作系統(tǒng)。

2017年4月16日 02:04