1.Linux什么情况下会发生page fault(B)
A.系统可用内存不够时
B.所需访问虚拟内存未被挂载
C.当开始进行 swap 交换时
D.当进程被挂起时
这里设备分为物理内存和虚拟内存
如果进程借助物理内存运行,进程运行所需内存大于物理内存时也无法启动进程。
虚拟内存的page和物理内存的page建立起映射,通过映射借助较大空间的虚拟内存来运行。
出现page fault一般是因为物理内存和虚拟内存未建立起映射(未挂载)
2.下面有关linux查看系统负载的命令,说法错误的是(C)
A.uptime 命令主要用于获取主机运行时间和查询linux系统负载等信息
B.vmstat 命令可以查看查看cpu负载
C.sar-n命令可以查看网络接口信息
D.free命令可以查看磁盘负载情况
vmstat 参数 选项
显示虚拟内存状况,同时可以报告进程,内存,I/O等系统整体运行状态
vmstat命令参数 | 含义 |
-a | 显示活动内页 |
-f | 显示启动后创建的进程总数 |
-m | 显示slab信息(基于对象管理的一种内存分配机制) |
-n | 指定头信息只显示一次 |
-s | 以表格形式显示时间计数器和内存状态 |
-S | 输出信息的单位 |
-d | 报告磁盘状态 |
-p | 显示指定的磁盘分区状态 |
vmstat命令选项 | 事件间隔(状态信息刷新的时间间隔) |
指定报告显示的次数 |
sar 参数 选项
系统运行状态统计工具,它将指定的操作系统状态计数器显示到标准输出设备。sar工具将对系统当前的状态进行取样,然后通过计算数据和比例来表达系统的当前运行状态。可以连续对系统取样,获得大量的取样数据。取样数据和分析的结果都可以存入文件,消耗的系统资源很小。
sar命令参数 | 含义 |
-A | 显示所有的报告信息 |
-b | 显示I/O速率 |
-B | 显示换页状态 |
-c | 显示进程创建活动 |
-d | 显示每个块设备的状态 |
-e | 设置显示报告的结束时间 |
-d | 报告磁盘状态 |
-f | 从指定文件提取报告 |
-i | 设状态信息刷新的间隔时间 |
-P | 报告每个CPU的状态 |
-R | 显示内存状态 |
-u | 显示CPU利用率 |
-v | 显示索引节点,文件和其他内核表的状态 |
-w | 显示交换分区状态 |
-x | 显示给定进程的状态 |
sar命令选项 | 间隔时间:每次报告的间隔时间(秒) |
指定报告显示的次数 |
3.Linux命令行下如何查找列出/usr/local这个目录以及子目录下所有包含字符mrtg的文件?(B)
A. grep "mrtg" /usr/local
B. grep - Rn "mrtg" /usr/local
C.find /usr/local -name 'mrtg'
D.find /usr/local -name 'mrtg' - R
A不会查找子目录内的文件,C同A,D中find -R参数无效
4.下面有关bash配置文件,说法正确的是?(ABD)
A.bash_logout:退出shell时,要执行的命令
B.bash_profile: 每个用户都可使用该文件输入专用于自己使用的shell信息,当用户登录时,默认情况下该文件仅仅执行一次
C.etc/bash.bashrc :该文件包含专用于个人的bash shell的bash信息,当登录时以及每次打开新的shell时,该文件被读取
D./etc/profile:此文件为系统的每个用户设置环境信息,当用户第一次登录时,该文件执行
etc/bash.bashrc 是对所有用户生效,而~/.bashrc才是对当前目录用户生效
5..关于UNIX系统代码段和数据段分开的目的,错误的说法有(E)
A.可共享正文
B.可共享数据
C.可重入
D.可保护代码为只读
E.方便编程
F.更好支持内存回收策略
代码段放代码正文(只读),数据段放变量数据(读写),方便共享,并且运行时也是加载到不同的内存空间中,便于权限控制。
用到大量的变量时将其与代码段分开可以节约部分内存空间,并且一般认为将两者分开对于编程者更加清晰
6. 下列有关Nginx配置文件nginx.conf的叙述正确的(AD)
A.nginx进程数设置为CPU总核心数最佳
B.虚拟主机配置多个域名时,各域名间应用逗号隔开(空格)
C.sendfile on,表示为开启高效文件传输模式,在进行下载等应用磁盘IO重负载应用时,应设置为 on
D. 设置工作模式与连接数上限时,应考虑单个进程最大连接数(最大连接数=连接数*进程数)
C答案,下载重负载应用应该要考虑到磁盘与网络处理的速度是否合理匹配,此时应该设置为off使磁盘IO与网络IO处理速度趋于平衡,以降低系统的负载
/etc/nginx/nginx.conf配置文件部分解析
For more information on configuration, see:
# * Official English Documentation: http://nginx.org/en/docs/
# * Official Russian Documentation: http://nginx.org/ru/docs/
user nginx; #指定进程的用户,关乎到操作权限
worker_processes auto; #进程工作数设置,一般和CPU设置数量一致
error_log /var/log/nginx/error.log;
pid /run/nginx.pid; #nginx进程pid
# Load dynamic modules. See /usr/share/doc/nginx/README.dynamic.
include /usr/share/nginx/modules/*.conf;
#工作模式
events {
worker_connections 1024; #允许的客户端最大连接数
}
#指令模块,主要针对http网络传输配置
http {
#指定日志格式,main是格式名称
log_format main '$remote_addr - $remote_user [$time_local] "$request" '
'$status $body_bytes_sent "$http_referer" '
'"$http_user_agent" "$http_x_forwarded_for"';
#access_log就可以直接使用上面main的格式
access_log /var/log/nginx/access.log main;
sendfile on; #使用高效文件传输,能够提升传输性能
tcp_nopush on; #开启了sendfile才能使用,当数据满了指定大小才进行传输
tcp_nodelay on;
keepalive_timeout 65; #设置客户端与服务端请求的超时时间,目的是让客户端因特殊情况进行重复请求时不重复发送请求,提高效率又节约资源
types_hash_max_size 4096;
include /etc/nginx/mime.types; #引入外部配置,避免单个文件过大造成运行风险
default_type application/octet-stream;
# Load modular configuration files from the /etc/nginx/conf.d directory.
include /etc/nginx/default.d/*.conf;
error_page 404 /404.html;
location = /404.html {
}
error_page 500 502 503 504 /50x.html;
location = /50x.html {
}
}
}
7.邮件服务器为每个用户限制磁盘存储空问上限,执行quotacheck -cug /var/mail指令后,在/var/mail目录自动创建的配置文件是(BC)
A. quota.user
B. aquota.user
C. aquota.group
D. quota.group
quotacheck命令用于扫描文件系统并建立quota记录文件
quotacheck 参数 文件系统(文件/目录等)
参数 | 含义 |
---|---|
-a | 扫描在/etc/fstab文件里,支持quota设置的分区 |
-u | 扫描磁盘,计算文件与目录的使用情况(使用者),限制使用者磁盘空间上限,创建 aquota.user,默认权限值是600 |
-g | 扫描磁盘,计算文件与目录的使用情况(使用组),限制使用组磁盘空间上限,创建 aquota.group |
-v | 显示扫描详细过程 |
-d | 详细显示指令执行过程,便于排错或了解程序执行的情形 |
-R | 扫描时排除根目录分区 |
-f | 强制扫描文件系统,写入新的 quota 记录 |
-M | 强制以读写的方式扫描文件系统,非特殊情况下不使用 |
-V | 显示版本信息 |
8.如何在命令行查看一台linux机器的CPU、SWAP分区信息、硬盘信息?(ACD)
A. cat /proc/cpuinfo
B. du
C. cat /proc/swaps
D. df -Ih
cat /proc/cpuinfo查看Linux设备的CPU信息
cat /proc/swaps查看Linux设备的交换分区信息
df -lh 查看硬盘使用情况
du查看目录占用磁盘空间情况
9. Linux系统中某个可执行文件属于root并且有setuid,当一个普通用户mike运行这个程序时,产生的进程的有效用户和实际用户分别是?
root mike
setuid 让普通用户临时拥有root权限去执行一些没有权限的文件,有效用户临时成为root,实际用户不变,文件执行完毕后临时特权消失
10.下面哪些命令可以查看fle1文件的第300-500行(BC)
A. cat file1 | tail -n +300 | head -n 200
B. cat file1| head -n 500 | tail -n +300
C. sed -n '300,500p' file1
A答案tail -n +300表示读取1-300行,head -n 200表示读取从300行开始的后200行,也就是300-499行
B答案head -n 500表示读取1-500行,tail -n +300表示从500行内的第300行开始读,即300-500行
C答案输出打印300-500行