我们知道,内存的访问速度是硬盘的好几倍,所以,如果将常用的动态函数库加载到内存中(高速缓存,cache),当软件套件要采用动态函数库时,就不需要重新从硬盘里读出,这样就可以提高动态函数库的读取速度。这个时候需要ldconfig与/etc/ld.so.conf的帮助。
将动态函数库加载到高速缓存(cache)中的过程如下:
1.首先,要在/etc/ld.so.conf中写下“想要读入高速缓存中的动态函数库所在的目录”,注意,是目录而不是文件。
2.利用ldconfig执行文件将/etc/ld.so.conf的数据读入高速缓存中。
3.同时在/etc/ld.so.cache文件中记录数据。
事实上,ldconfig还可以用来判断动态函数库的连接信息。赶紧使用Fedora Core 4来测试吧。假设要将MySQL函数库加入到高速缓存中:
root@linux ~]# ldconfig [-f conf] [ -C cache] [-p]参数:-f conf : conf指的是某个文件名称,也就是说,使用conf作为libarary函数库的取得路径,而不以 /etc/ld.so.conf为默认值-C cache : cache指的是某个文件名称,也就是说,使用cache作为高速缓存暂存函数库信息,而不以 /etc/ld.so.cache为默认值-p : 列出当前所拥有的所有函数库数据内容(在 /etc/ld.so.cache中的数据)。范例:假设MySQL数据库函数库在 /usr/lib/mysql中,如何读入高速缓存?[root@linux ~]# vi /etc/ld.so.confinclude ld.so.conf.d/*.conf/usr/lib/mysql <==这一行是新增的。[root@linux ~]# ldconfig# 画面上不会显示任何信息,正常。[root@linux ~]# ldconfig -p928 libs found in cache `/etc/ld.so.cache'libz.so.1 (libc6) => /usr/lib/libz.so.1libz.so (libc6) => /usr/lib/libz.so......中间省略......
通过上面的操作,我们可以将MySQL的相关函数库读入高速缓存中,这样可以加快函数库读取的速度。有时您可能会自行加入某些Tarball安装的动态函数库,当您想让这些动态函数库的相关连接可以读入到高速缓存中时,可以将动态函数库所在的目录名称写入/etc/ld.so.conf中,然后执行ldconfig。