RHCA考试题-RH442考试题

更新时间:2023-08-20 20:27:01 阅读量: 高等教育 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

stationX需求

在stationX系统上完成如下操作:

填表()。提供您要写在证书上的名字(如果您能取得它)还有用于让我们联系您的邮件地址。RH全球学习服务需要使用这些信息来处理并报告您的结果。 文件/root/sar.data包含了另一个系统的近2个小时的系统运行数据。使用这个文件,找到: 在什么时候(数据收集开始后的第几分钟),开始了大量的持续写入操作(大于10MiB/s) 最高的I/O速率记录(单位:MiB/s)

最高的1分钟持续负载平均值

使用web问题提交表单来记录下您的答案。题号为X1

答:#LANG=C sar -f sar.data -b|less 找到突然有写操作的时间点 11:17

#45120.80/2/1024=22 最高I/O为

22MiB/s

#LANG=C sar -f sar.data -b -s 11:17:00 -e 11:18:00 更改-s和-e的时间,从而找到最大的平均I/O值,再根据上面的算法得出平均值。

21MiB/s

# LANG=C sar -f sar.data –q|less 找到第4列最高时的数值。 1分钟持续负载平均值

30.

识别系统的L1、L2数据缓存的大小。在您的答案中不要包含指令缓存数量或者跟踪缓存数量。使用web问题提交表单来记录下您的答案。题号为X2

答:#less /var/log/dmesg 搜索cache找到缓存大小。

方法2:#x86info –c 方法3:#getconf –a|grep SIZE 都不如上面那个简单直观

在如下命令中,识别最常被调用的系统调用:/etc/cron.daily/rpm。使用web问题提交表单来记录下您的答

案。题号为X3

答:#strace –fc –S calls /etc/cron.daily/rpm 命令结果会自动按照calls高低排序。

配置系统,使得当/usr/local/bin/greedy运行的时候,提示失败信息为unable to allocate memory但同时

/usr/local/bin/checklimit显示信息为Success: Address space limit is okay.

答:启用内存限制 然后 运行程序得出 内存使用量

使用 overcommit 限制

系统需要运行一个应用程序,它要求最少能够映射6GiB共享内存,但是最多不应该多于6.5 GiB。假设这个

应用程序是唯一使用共享内存资源的程序。配置系统:使得能够满足最小共享内存需求,但是该应用程序也不会使用多于给定最大值的共享内存。

答:#vi /etc/sysctl.conf 写入

方法一

大于 6G 小于 6.5G 取值 6.3G

6.3 * 1024*1024*1024 /4096 = bytes

把byte值写入 shmmax 内

方法二 6.3 * 1024 * 1024/4 得到pages 填写入 shmall 内

在/usr/local/bin中,有一个应用程序realtime。配置系统使得该程序在系统启动的时候自动运行,具有静态

优先级27——使用(round robin priority scheduling)。该程序应该作为后台作业运行。

您可以通过查看/var/log/messages来验证realtime的运行。

答:#vi /etc/rc.local 写入

chrt –r 27 /usr/local/bin/realtime &

确定realtime应用程序实际使用内存的大小,以页为单位。使用问题提交表单来记录下您的答案。题号为

X4

答:#pidof realtime

#ps axo pid,rss | grep PID 得到的结果除4就是多少页。

在root的目录下有文件count_jiffies.stp。配置系统能够运行这个脚本。

答:#uname –r 查出现在系统运行的内核的版本,在server1上搜索对应的kernel-debuginfo包。如果没有与当前内核一致的debuginfo包的话,要找到与debuginfo对应的内核一并安装。安装后修改grub.conf,用安装过debuginfo包的内核启动。

#stap /root/count_jiffies.stp 得到结果即可。

在stationX系统上配置MRTG来绘制stationY系统上eth0输入和输出的图像。用浏览器指向

http://localhost/mrtg/eth0.html将会返回网络行为的Web页上的图片。

需要注意,您需要先配置stationY系统的SNMP功能。请查看stationY的需求,根据这些来配置SNMP。 答:#yum –y install httpd mrtg

#service httpd start

#chkconfig httpd on

#cfgmaker --ifref=name --global “workdir:/var/www/mrtg” net1@stationY > /etc/mrtg/mrtg.cfg

#vi /etc/mrtg/mrtg.cfg 替换loclhost_eth0为eth0

#LANG=C LC_ALL=C /usr/bin/mrtg /etc/mrtg/mrtg.cfg --lock-file /var/lock/mrtg/mrtg_l --confcache-file /var/lib/mrtg/mrtg.ok 运行三遍 此命令在/etc/cron.d/mrtg中

#indexmaker /etc/mrtg/mrtg.cfg > /var/www/mrtg/index.html

#ln -s /var/www/mrtg/interface_eth0.html eth0.html 题里要求eth0.html所以之前是做个链接先已找到正规方法。

root账户的目录有两个版本的应用程序:cache-a和cache-b。两个版本的应用程序功能一样,但是其中一个

在使用缓存方面不合理。

确认哪个应用程序有更好的缓存性能并复制这个程序到/usr/local/bin。

你可以自行选择哪个(些)应用程序用于实现这一目标。需要注意的是,某些应用程序不是所有硬件都能支持的。

答:#valgrind --tool=cachegrind /root/cache-a # valgrind --tool=cachegrind /root/cache-b

在结果中对比,cache程序的命中率即可得到答案。

系统有现存的软件RAID 0设备,/dev/md0。假设这RAID设备分布在三个物理驱动器上。格式化这个设备作

为一个ext3文件系统,并满足如下要求:

文件系统日志需要在一个独立的分区上

文件系统格式化为具有2KiB磁盘块大小(block size)

文件系统需要能够利用该RAID系统的优势,就是说,要使用mkfs工具来将磁盘块(block)组区域分开到

不同的物理驱动器上——基于阵列的chunk size

文件系统被挂载在/mnt/raid目录下

答:#fdisk /dev/sda 创建一个单独的分区名为sda10,大小50M。 假设chunk size是8KiB

#mke2fs –O journal_dev –b 2048 –L journaldev /dev/sda10

#tune2fs –O ^has_journal /dev/md0

#mke2fs –b 2048 –E stride=4 –j –J device=/dev/sda10 /dev/md0 stride=chunk size/block size

#vi /etc/fstab 写入/dev/md0 /mnt/raid ext3 defaults 0 0

配置网络缓存使得每个UDP连接(输入、输出都包括),保证能有最小128 KiB最大192KiB的缓存 答:#vi /etc/sysctl.conf 写入

net.core.rmem_default = 131072

net.core.wmem_default = 131072

net.core.rmem_max = 196608

net.core.wmem_max = 196608v

stationY需求

在stationY系统上完成如下操作:

配置sar数据收集脚本每5分钟间隔运行一次

答:#vi /etc/cron.d/sysstat 修改第一行第一段*/5

系统应该有2 GiB的交换空间。配置足够的交换空间并满足如下要求:

不删除任何现存swap分区

额外的swap空间应该均匀分布在两个分区上(同等大小)

新的swap分区应该在当前swap分区所在的那个磁盘上

在引导时,内核应该在使用现存的swap之前,使用新的swap分区

答:#fdisk /dev/sda 创建两个分区名为sda5 sda6,大小750M。 原有swap分区好像是512MB

#mkswap –L swap1 /dev/sda5

#mkswap –L swap2 /dev/sda6

#swapon –p 5 /dev/sda5

#swapon –p 10 /dev/sda6 #swapon –s查看

#vi /etc/fstab 写入/dev/sda5 swap swap pri=5 0 0 /dev/sda6 swap swap pri=10 0 0

这个系统和其它系统之间的绝大多数网络连接都将经由一个低地轨道卫星链路。连接的延迟为500毫秒,带

宽为1.5Mib/s(mebibits/second)。调整系统,使得所有的TCP连接都能:

用于缓存每个连接的内存的最小值,足够适用于这个延迟以及带宽

用于缓存每个连接的内存的缺省值等于用于缓存的内存的最小值

用于缓存每个连接的内存的最大值,等于1.5倍用于缓存的内存的最小值

答:先算出BDP值:(1.5/1) * (0.5/1) * (1/8) * (2^20/1)= 98304 Bytes

98340/1024/4=24 pages

#vi /etc/sysctl.conf 写入

net.ipv4.tcp_mem = 24 24 36

net.ipv4.tcp_rmem = 98304 98304 147510

net.ipv4.tcp_wmem = 98304 98304 147510

在/usr/local/bin目录有两个程序:memapp1和memapp2。用户memhog应该能够运行memapp1但是不能

运行memapp2或者其它任何具有和memapp2一样特征的应用程序。

答:#/usr/local/bin/memapp1

#/usr/local/bin/memapp2 执行后会看到输出,里面写了这个程序用了多少内存。

# vi /etc/security/limits.conf 写入memhog hard as

16

修改包含root分区的硬盘的I/O请求队列,使得它包含512个outstanding I/O请求。当系统重启后,这也应

该是缺省设置。

答:#vi /etc/rc.local 写入echo 512 > /sys/block/sda/queue/nr_requests

本系统上主要磁盘I/O的主要引发应用程序包含了一系列互相依赖的读取操作。将缺省的I/O Scheduler替换

为适合这一工作负载类型的。另外,将Scheduler调整为:在每次I/O请求后,它将为紧邻这次已经服务完毕的请求的那个请求,等待12ms。确保在系统重启之后,这设置依然保留。如果你的系统有多于一个硬盘驱动器,您只需要为具有root文件系统的那个驱动器进行上述设置。

答:通过dependent reads确定使用anticipatory。

#vi /boot/grub/grub.conf 在kernel所在行末位写入elevator=as

# vi /etc/rc.local 写入echo anticipatory > /sys/block/sda/queue/scheduler 这是老方法

# vi /etc/rc.local 写入

echo 12 > /sys/block/sda/queue/iosched/antic_expire

配置系统使得已经被修改的数据能够在被考虑流入磁盘前,在内存中保留1分钟。

答:# vi /etc/rc.local 写入

echo 6000 > /proc/sys/vm/dirty_expire_centisecs

在root目录中有一个压缩包,名为application.tgz包含了一个客户端-服务器应用程序。该文件包含了两个版

本的服务器应用程序,是server-v1和server-v2,以及一个客户端应用程序client。这些程序都被设计为在同一个系统上使用。

客户应用程序能够接受键盘输入并且发送到服务器,输入ctrl-D,将结束客户端程序。两个版本的服务器应用程序做的事情一样:它们接受来自客户端的输入并且复制到文件/tmp/application.out

一旦进入生产环节,服务器应用程序将会运行很长时间而不能重新启动,并且,一般地来说它每天需要处理数百个连接请求。

你必须分析每个服务器应用程序并且识别最佳的那个服务器应用程序。一旦您决定使用某个版本的服务器应用程序,复制您选择的那个应用程序到/usr/local/bin。

答:#tar zxf application.tgz -C ./application

#valgrind --tool=memcheck ./ application/server-v1 # valgrind --tool=memcheck ./ application/server-v2

在两个结果中会看到有一个内存益处,拷贝没有益处的到/usr/local/bin。

系统要升级硬件了,是SCSI控制器和一个SCSI磁带备份设备。请确保SCSI磁带控制器模块(st.ko)的加载,

缺省缓存大小需要设置为128 KiB。

答:#vi /etc/rc.local 添加modprobe st

#vi /etc/modprobe.conf 添加

options st buffer_kbs=128

配置stationY系统通过SNMP提供信息。如下的要求必须被满足。除非另外说明,只读访问是必须的。您可

以使用localhost,如果只需要本地访问的话。

组(commnuity)local1能够访问整个SNMP MIB树,但是只能从stationY访问。

组(commnuity)local2必须只能够访问MIB树的IF-MIB::interfaces分支并且该访问只能够来自于stationY。 用户或者组(commnuity)net1能够从域中的任意位置访问完整的MIB树,但是不能从任

何其它地方访问。

答:用到#snmpconf和#snmptranslate –On IF-MIB::interfaces 完成后snmpd.conf文件如下:

系统将要运行一个应用程序需要分配一个64MiB段共享内存,配置系统使得对于这个应用程序来说,TLB

flushes将会最少。该配置需要在重启之间被保留下来。

在root目录中,有两个版本的这个程序。程序hugepage.shm使用了SYSV共享内存来分配64MiB段的内存。

应用程序hugepage.fs使用了伪文件系统来处理内存分配。

您只需要配置您的系统来支持其中一个应用程序,而不是两个程序都支持。您仅需要将您配置为系统支持的那个应用程序复制到/usr/local/bin目录。

如果您打算支持hugepage.fs应用程序,伪文件系统需要被挂在/bigpages下。该文件系统应该是在系统重启后自动被挂载。当运行hugepage.fs应用程序的时候,您将会被提示输入伪文件系统挂载点下的一个文件名字,可以用文件/bigpages/memory。

两个应用程序在分配了共享内存后都会暂停,并且提示您继续——如果您觉得一切都准备好了的话即可。您可以通过这种方式来检查在应用程序运行时候系统能够正确地分配内存。

答:hugepage.fs方法:

# x86info -a|grep TLB #dmesg #cat /proc/meminfo 建议用第三种方法 (实验环境为4M)

#vi /etc/sysctl.conf 写入vm.nr_hugepages=16 或者:

#vi /boot/grub/grub.conf 在kernel所在行末位写入

hugepages=16

#mkdir /bigpages

#mount –t hugetlbfs none /bigpages 写入

/etc/rc.local

#cp hugepage.fs /usr/local/bin

hugepage.shm方法:

#vi /etc/sysctl.conf 修改

kernel.shmmax = 67108864 64MB*1024*1024=67108864bytes

kernel.shmall = 32768 67108864bytes/1024/4*2=32768

查看:#ipcs -lm #ipcs –

ls

本文来源:https://www.bwwdw.com/article/l1uj.html

Top