歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
Linux教程網 >> Linux基礎 >> Linux教程 >> Linux下修改shmmax的值

Linux下修改shmmax的值

日期:2017/2/28 16:55:56   编辑:Linux教程

因為要修改共享內存上限大小,在Fedora 8中shmmax是存放在/proc/sys/kernel/shmmax中的,選擇修改shmmax的值有兩種方式。

第一種是臨時性的修改,操作十分簡單在bash shell下敲下下面的命令:

# echo "0x40000000" > /proc/sys/kernel/shmmax

0x40000000是表示你要修改的共享內存最大值的大小,這裡是表示1G。

那樣你再vi查看一下shmmax的值就可以發現已經被修改了,然而你會發現在重啟之後,這個值又會被修改過來,變為原來的默認值32M。

第二種是永久性的修改,修改 /etc/sysctl.conf 使更改永久化。在該文件內添加以下一行,這個更改在系統重新啟動後生效kernel.shmmax = 0x40000000 。

附帶解析幾個操作:

ipcs是用來查看共享內存的信息的。

ipcrm是用來消除系統中共享內存段,具體操作man一下。

本人利用system v的操作增加共享內存,然後shmdt調共享內存,當所有運行的進程都dt了這段共享內存之後,發現這段共享內存還是存在的,最神的是,當我再啟動一個進程讀取數據,之前寫的數據全部都在。也就是說物理內存內部並沒有在所有引用的進程完畢之後將共享內存消去,通過ipcs可以查看到該共享內存段的信息。故如果一定要將其消去需要利用ipcrm -m的操作。

另外一個測試,當分配1G的共享內存,但是在實際物理內存中還是沒有分配,而是在你第一次用到的時候才實際分配。

Copyright © Linux教程網 All Rights Reserved