牛客网Linux错题二

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行
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

树下一少年

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值