Linux基础:调优系统性能+使用ACL控制对文件的访问(20210725笔记)
调优系统性能
调整调优配置文件
Linux进程调度和多任务
现代计算机通常所需要运行的进程线程数量会远超其CPU数量。通过时间切片技术,linux 和其他操作系统可以运行超出其处理单元数的进程。操作系统进程调度程序在单个核心上的进程之间快速切换,从而给人一种多个进程同时运行的印象。
常规系统上运行的大多数进程所使用的调度策略称为 SCTED_OTHER (也称为 SCHED_NORMAL),管理员可以为采用 SCHED_NORMAL 策略运行的进程指定相对优先级,即 nice 值。
相对优先级
nice 值范围介于-20(最高优先级)到19(最低优先级)之间,默认情况下, 子进程会继承父进程的 nice 值,通常为0。nice 值会映射至系统内部的优先 PR 值生效。
nice越小,优先级越高
查看nice级别
top命令
输入 r 后设置需要调整的进程的 PID,再设置需要期望的 nice 值即可实现调整,调整 完成后,使用 w 保存配置
ps命令
设置nice级别
nice级别和权限
root 用户(更具体地说,具有CAP_SYS_NICE功能的用户)允许设置负 nice 值 以及降低现有进程的 nice 值 【可以提升优先级】
普通非特权用户仅允许设置正的 nice 值,且只能对现有进程提升 nice 值,而不能降低 nice 值,也就是说仅能降低自己进程的优先级
注:除nice级别以外,还有其他方法可以影响进程优先级和资源使用情况,例如调度程序策略和设置、控制组(cgroups)等等。但是,nice级别是最易于使用的方法,并且 不仅系统管理员可以使用,普通用户也可以使用
使用ACL控制对文件的访问
解释文件ACL
ACL
ACL允许向文件分配细化权限。除标准的文件所有者、组所有者和其他文件权限之外, 还可向指定用户或指定组,以及 UID 或 GID 确定的用户和组授予权限。这些权限均应用相同的权限标志:r -读取、w -写入、x-执行。
文件所有者可以在单个文件或目录上设置 ACL。新文件和子目录可以自动从父目录默 认 ACL (若已设置)中继承ACL 设置。与常规文件的访问规则相似,父目录层次结构需要至少设置其他用户执行权限 ,以便启用指定用户和指定组的访问权限。
一般是Linux文件系统下,windows不支持
使用 ls 命令查看 ACL 权限
Is -l命令仅输出最少的ACL设置详细信息:
[student@server0 ~]$ ll roster.txt
-rw-rwxr–+ 1 student student 48 Dec 5 00:47 roster.txt
如果由10个字符组成的权限字符串的末尾是“+”,即表示此文件有相关联的 ACL 设置。对用户 、组和其他的“rwx”标志解释如下:
用户:显示用户 ACL 设置,其与标准的用户文件设置相同
组:显示当前的 ACL 掩码设置,而不是组所有者设置
其他:显示其他 ACL 设置,其与标准的其他文件设置相同
使用 getfacl 命令查看 ACL 权限
查看文件 ACL
要显示文件上的ACL设置,使用
getfacl file
【示例】使用 getfacl 命令查看 /run/log/journal 的子目录中的文件
查看目录 ACL
要显示目录上的ACL设置,使用
getfacl /directory
【示例】使用 getfacl 命令查看 /run/log/journal 的子目录