• 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。

  • 相关阅读:
    深入理解npm run命令,run命令的两条潜规则
    oracle 删除表空间及数据文件方法
    Oracle11g创建表空间和用户,并授权
    java poi 读取excel 获取第一个不隐藏的sheet
    VBS 学习
    VBS 操作Excel
    Selenium + Python操作IE 速度很慢的解决办法
    Selenium打开IE报错“Protected Mode settings...”解决方法
    Robot Framework搭建
    获取一组元素的最后一个
  • 原文地址:https://www.cnblogs.com/keystone/p/10831970.html
Copyright © 2020-2023  润新知