命令行下获取page size

July 30th, 2009 by 王 聪 Leave a reply »

用C语言就不说了,很简单。问题是怎么用shell直接得到?我自己想了想,然后又搜了搜,发现了下面这四种方法:

/usr/bin/time -f %Z true

LD_SHOW_AUXV=1 /bin/true | grep PAGESZ

grep ^KernelPageSize /proc/self/smaps

python -c ‘import resource; print resource.getpagesize();’

前两个是google到的,后两个是我自己弄出来的。

我个人觉得最靠谱的是第2个,因为它既不需要依赖python或者perl,而且是从内核获取的。第1个很让人惊讶,因为打死我我也不会想到time这个命令下居然还有获取page size的功能。。。注意,这个time是外置的命令,而非shell内置的那个time。

根据贵国法律法规和政策,部分文章内容未予显示。 powered by 滤霸

7 comments

  1. Amankwah says:

    time?????
    这个,这个……也行~

    [Reply]

  2. Armon says:

    这个命令也可以
    $getconf PAGESIZE

    [Reply]

    王 聪 reply on August 1, 2009 3:52 pm:

    对!我把这个给忘了。

    [Reply]

  3. Newuser says:

    试验了一下

    [root@localhost ~]# grep ^KernelPageSize /proc/self/smaps
    [root@localhost ~]# py
    pydoc pygtk-demo python python2.5-config
    pygobject-codegen-2.0 pylupdate4 python2 python-config
    pygtk-codegen-2.0 pyrcc4 python2.5 pyuic4
    [root@localhost ~]# python -c ‘import resource; print resource.getpagesize();’
    bash: syntax error near unexpected token `(‘
    [root@localhost ~]#

    后面两个没出来呢?
    [root@localhost ~]# uname -a
    Linux localhost 2.6.27.25-170.2.72.fc10.i686 #1 SMP Sun Jun 21 19:03:24 EDT 2009 i686 i686 i386 GNU/Linux
    [root@localhost ~]#

    是不是我哪里没弄对呢?

    [Reply]

    王 聪 reply on August 10, 2009 8:59 pm:

    1. 看看你的内核配置CONFIG_PROC_PAGE_MONITOR了没。
    2. 看看的引号是不是有问题,不要直接在网页上复制,自己输。

    [Reply]

    Newuser reply on August 12, 2009 3:13 pm:

    CONFIG_PROC_PAGE_MONITOR=y
    看了一下/boot/下的config
    这个被选上了

    第二个手动输入可以了,高手
    还以为直接复制粘贴就可以了呢
    呵呵

    [Reply]

    王 聪 reply on August 20, 2009 11:14 pm:

    恩,如果没选上连那个文件都不会有,我考虑错了。不知道是不是那一项在2.6.27的内核中还没有。。。你可以检查一下源代码。

Leave a Reply

葡驻京办ICP备07006283号