ldconfig与 /etc/ld.so.conf
现在我们知道了动态与静态函数库,也知道了当前的Linux大多是将函数库做成动态函数库,下面来讨论增加函数库读取性能的方法。我们知道,内存的访问速度是硬盘的好几倍,所以,如果将常用的动态函数库加载到内存中(高速缓存,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.conf
include ld.so.conf.d/*.conf
/usr/lib/mysql <==这一行是新增的。
[root@linux ~]# ldconfig
# 画面上不会显示任何信息,正常。
[root@linux ~]# ldconfig -p
928 libs found in cache `/etc/ld.so.cache'
libz.so.1 (libc6) => /usr/lib/libz.so.1
libz.so (libc6) => /usr/lib/libz.so
......中间省略......
通过上面的操作,我们可以将MySQL的相关函数库读入高速缓存中,这样可以加快函数库读取的速度。有时您可能会自行加入某些Tarball安装的动态函数库,当您想让这些动态函数库的相关连接可以读入到高速缓存中时,可以将动态函数库所在的目录名称写入 /etc/ld.so.conf中,然后执行ldconfig。
最新文章
- html/京东项目/京东网页高仿/js/jq/css/java web/
- JVM学习笔记:虚拟机的类加载机制
- 看懂UML类图与时序图
- yii Html中的a标签使用
- delphi中使用spcomm来实现串口通讯(转载)
- JIT(动态编译)和AOT(静态编译)编译技术比较
- 手把手教你玩转SOCKET模型之重叠I/O篇(上)
- oracle--varchar2
- Effective c++ 第一章 让自己习惯C++
- SuppressWarnings的警告
- 写sql语句注意事项
- 9天快速入门java
- 转:lr_eval_string,lr_save_string 和 sprintf 的使用
- ThinkPHP 分组,应用,跳转
- 几个常用的linux命令(操作服务器时会用到)
- Spring Boot 集成swagger实例
- Python通过跳板机链接MySQL的一种方法
- javaweb学习方案1
- idea/ecipse中使用maven集成springmvc相关jar包时候,出错:java.lang.ClassNotFoundException: org.springframework.web.servlet.DispatcherServlet
- MFC宏—DECLARE_DYNCREATE