21.5.2 ldconfig
与
/etc/ld.so.conf
在了½了动态与静态函式库,也知道我们目前的
Linux
大多是½函式库做成动态函式库之后,再来
要知道的就是,那有没有办法增加函式库的读取效能?
我们知道内存的访问速度是硬盘的好几倍,
所以,
如果我们½常用到的动态函式库先加载内存当中
(
快取
, cache)
,如此一来,当软件要取用动态
函式库时,就不需要从头由硬盘里面读出啰!
这样不就可以增½动态函式库的读取速度
?没错,是
这样的!这个时候就需要
ldconfig
与
/etc/ld.so.conf
的协助了。
如何½动态函式库加载高速缓存当中呢?
1.
首先,我们必须要在
/etc/ld.so.conf
里面写下『
想要读入高速缓存当中的动态函式库所在的目录
』,注意
喔,
是目录而不是文件;
2.
½下来则是利用
ldconfig
这个执行档½
/etc/ld.so.conf
的资料读入快取当中;
3.
同时也½数据记录一份在
/etc/ld.so.cache
这个文件当中吶!
图
21.5.1
、使用
ldconfig
预加载动态函式库到内存中
事实上,
ldconfig
还可以用来判断动态函式库的链½信息呢!赶½利用
CentOS
来测试看看。假设
妳想要½目前你系统下的
mariadb
函式库加入到快取当中时,可以这样做:
[root@study ~]#
ldconfig [
-
f conf] [
-
C cache]
[root@study ~]#
ldconfig [
-
p]
选项
与
参数
:
-
f conf
:那
个
conf
指的是某
个
文件名,也就是
说
,使用
conf
作
为
libarary
函式
库
的取得路
径
,而不以
/etc/ld.so.conf
为
默
认
值
-
C cache
:那
个
cache
指的是某
个
文件名,也就是
说
,使用
cache
作
为
快取
暂
存
的函式
库资
料,而不以
/etc/ld.so.cache
为
默
认
值
-
p
:列出目前有的所有函式
库资
料
内
容
(
在
/etc/ld.so.cache
内
的
资
料!
)
范例一:假
设
我的
Mariadb
数
据
库
函式
库
在
/usr/lib64/mysql
当
中,如何
读½
cache
?
[root@study ~]#
vim /etc/ld.so.conf.d/vbird.conf
/usr/lib64/mysql
<==
这
一行新增的啦!
[root@study ~]#
ldconfig
<==
画
面上不
会显
示任何的信息,不要太
½张
!正常的!
[root@study ~]#
ldconfig
-
p