页次: 1
发现自己脑子挺笨的,一个ccache,gentoo文档上就写了那么点,今天才终于明白了
列一下安装使用步骤吧:
代码 3.1: 安装ccache
# emerge ccache
激活Portage支持
打开/etc/Portage/make.conf并添加ccache到FEATURES变量。然后添加一个新的变量CCACHE_SIZE并设置它为"2G":
代码 3.2: 在/etc/Portage/make.conf中设定CCACHE_SIZE
CCACHE_SIZE="2G"
最后,在make.conf中加上
CCACHE_DIR="/var/tmp/ccache"
这样就算基本安装好了,很简单吧
使用的时候,其缓存的内容分为两种:portage中的包编译时候的缓存和非portage中的包编译时候的缓存。当你编译portage的包的时候,其缓存的数据,存储在上面的CCACHE_DIR变量指定的文件夹中:"/var/tmp/ccache"中,因为/var/tmp/ccache是Portage的默认ccache主目录(我想你当然也可以把默认目录改成别的)。
如果你要编译的是非portage中的包,那么你要对上面的步骤在补充一步操作:
(官方内容):
添加/usr/lib/ccache/bin到您PATH参数里靠前的位置(在/usr/bin之前)。这一点可以通过编辑在您用户主目录中的.bash_profile文件来实现。使用.bash_profile是定义PATH参数的一个方式.
老实说,我是没找到我的目录下的.bash_profile文件,所以我选择修改/etc/profile中的PATH变量
我加了这样一句:PATH="/usr/lib/ccache/bin:/opt/bin:${PATH}"
你编译非portage中的包的时候,其缓存数据是默认存储在:${HOME}/.ccache中的,就是你的用户目录下面.ccache目录,我是root登录,所以在我的/root/下有一个.ccache目录,这里面就是我们编译非portage中的包的缓存数据
这样,我们才算彻底配置好了ccache了
那么下面是如何使用的方法了。其实使用,也就是查看他有没有缓存编译的数据
编译非portage得包的时候直接输入:
ccache -s就可以看到数据结果了,以我的为例:
cache directory /root/.ccache
cache hit 33
cache miss 2030
called for link 144
not a C/C++ file 6
files in cache 4060
cache size 44.9 Mbytes
max cache size 976.6 Mbytes
看起来还是比较一目了然的。
那如果你在编译portage的包的时候要查看这些数据,就要指定上面我们说的portage的默认文件夹了,输入:
CCACHE_DIR="/var/tmp/ccache" ccache -s (这里查看的就是portage默认文件夹的缓存数据结果了)
结果:
cache directory /var/tmp/ccache
cache hit 0
cache miss 0
files in cache 0
cache size 0 Kbytes
max cache size 2.0 Gbytes
看到了,我们刚才设置过他的缓存大小为:2GB的,我并没有编译portage的包,所以,上面的数据都是
终于算搞明白这个东西了,乌拉~~~~~~
离线
页次: 1