# 内核资源使用
介绍与操作系统内核相关的参数，这些参数是否生效依赖于操作系统的设置。
#### max_files_per_process
**参数说明：**设置每个数据库线程允许同时打开的最大文件数量。
**参数类型：**整型
**参数单位：**无
**取值范围：**25 \~ 2147483647
**默认值：**1024
**设置方式：** 该参数属于POSTMASTER类型参数，请参见[表1](https://support.huaweicloud.com/distributed-ref-v10-gaussdb/gaussdb-08-0752.html#ZH-CN_TOPIC_0000002793787853__zh-cn_topic_0059777490_t91a6f212010f4503b24d7943aed6d846)中对应设置方法进行设置。
**设置建议：**如果操作系统内核强制一个合理的数目，则不需要设置。但是在一些平台上（特别是大多数BSD系统），内核允许独立进程打开比系统真正可以支持的数目大得多的文件数。如果用户发现有"Too many open files"失败现象，请尝试缩小这个设置。通常情况下需要满足，系统FD（file descriptor）数量\>=最大并发数\*当前服务器主DN个数\*max_files_per_process\*3。
**设置不当的风险与影响：**请根据实际使用需求进行设置。如果设置过小，有效安全文件句柄可能较少，从而导致集群状态异常。
 #### shared_preload_libraries
**参数说明：**此参数指定数据库启动时需预加载的共享库（支持逗号分隔多个库名）。例如，'$libdir/mylib' 会优先加载mylib.so（部分平台为mylib.sl）。仅sysadmin用户可修改此参数。
![](https://support.huaweicloud.com/distributed-ref-v10-gaussdb/public_sys-resources/note_3.0-zh-cn.png)
- 如果被声明的库不存在，GaussDB服务将会启动失败。
- 每一个支持GaussDB的库都有一个特殊的标记用于保证兼容性。因此，不支持GaussDB的库不能用这种方法加载。
 
**参数类型：**字符串
**参数单位：**无
**取值范围：**字符串
**默认值：**"platform_compatibility_b,security_plugin"
**设置方式：** 该参数属于POSTMASTER类型参数，请参见[表1](https://support.huaweicloud.com/distributed-ref-v10-gaussdb/gaussdb-08-0752.html#ZH-CN_TOPIC_0000002793787853__zh-cn_topic_0059777490_t91a6f212010f4503b24d7943aed6d846)中对应设置方法进行设置。
**设置建议：**可以用这个方法预先加载GaussDB的存储过程库，通常是使用'$libdir/plXXX'语法。XXX只能是pgsql、perl、tcl、python之一。
通过预先加载一个共享库并在需要的时候初始化，可以避免第一次使用这个库的加载时间。但是启动每个服务器进程的时间可能会增加，即使进程从来没有使用过这些库。因此建议，对将被大多数会话使用的库才使用这个选项。
**设置不当的风险与影响：**请在充分理解参数含义，并经过测试验证后进行修改。
