→ jlovet:ko又沒有很大...能省多少 02/02 13:54
※ 引述《jlovet (偷拿程式碼的八卦)》之銘言:
: ※ 引述《crreep (Life is random)》之銘言:
: : 因為有些考量需要把一些ko檔放到ramdisk
: : 為了不佔ram空間所以想當把insmod abc.ko之後
: : 再rm abc.ko
: : 因為都已經載入kernel了所以我想原始的檔案應該用不到了吧
: : 我自己有試過沒遇到什麼怪現象
: : 不過還是怕會有side effect所以想來問問個位高手的意見
: : 這樣做會以危險嗎?
: : (p.s. 我一但掛上後就部會rmmod所以移除原始檔案沒差
: : 又因位ramdisk下次重開機又會有哪些ko檔所以不是真的永久移除)
: : 感謝
: 不會有什麼事情
: 不過為什麼要這樣?
: 你可以
: 1. 編譯到kernel裡面
: 不一定每次都會用到?
: 2. 那ramdisk是什麼?
: tmpfs嘛? 那樣大小是固定的,而且,把檔案複製到tmpfs,載入,再刪掉,
: 這樣有比較快嘛?
: 3. 刪除initramfs裡面的檔案?
: 那不是包再initrd裡面嘛?應該不能刪吧。而且initrd會自動被free掉
我其實不確定我的ramdisk是tmpfs還是initramfs
不過我可以確定他是一個image,開機時會load到ram
mount成rootfs "/"
所有在ramdisk內的檔案都會佔掉記憶體空間 例如
cat /dev/urandom > /test.txt &
執行一段時間記憶體就會明顯的減少 甚至kernel OOM killer都開始抓狂
如果停止再把rm test.txt
則可用的記憶體又會長回來
不過這樣有可能會因為ramdisk image變大所以load/mount時間變長導致
開機會比較久..
置於為何要這樣 其實是有某些考量 要不然也不會想這麼麻煩囉
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 124.11.194.64