EX442 Resources
darkerosxx
Banned Posts: 1,343
Fair warning, I just took this exam Friday and scored only 60% on it, but this was my initial study guide I put together. I know why I failed and it's mainly due to not remembering which parameters are in which format: bytes, kebibytes, mebibytes, pages, blocks, etc.. I'm going to study up and practice more. I did only get to study for four days and made a 60%, so hopefully more study will get me a pass. Below is my own study guide made before taking the exam via looking at exam objectives.
#NOTES FOR EX442
______________________
#RANDOM
#DISK SCHEDULER
- cat /sys/block/sda/queue/scheduler
#SAR and RRD FILES TO PNG FILES
-Know how to do sar -A, pick a section, find it in man page how to output just that specific section for cpu, device io, everything
-example sar -q
-14:50:01 runq-sz plist-sz ldavg-1 ldavg-5 ldavg-15
-15:00:01 3 278 0.00 0.00 0.01
-want time, load avg 1, 5, and 15
-sar -q | awk '/^:digit:][:space:][:punct:/ {print $1,$4,$5,$6}' > /root/loadavg.data
-14:50:01 ldavg-1 ldavg-5 ldavg-15
-15:00:01 0.00 0.00 0.01
#RRD files
-know how to handle RRD files and get whatever data out of it that I want
-rrdtool graph /var/www/html/file.png -X 0 --start=$(date --date=-1hour +%s) --end=$(date +%s) DEF:virtual_name_I_define:/tmp/file.rrd:datasource_name_from_file:consolidation_factor LINE1:virtual_name_I_define#000000:"Visual Name for Graph"
-man rrdgraph_examples
*****
-Above two sections for - Exam Objective - configure systems to provide performance metrics using utilities such as RRDtool
______________________
#Kernel Modules Tuning
#Services
-service tuned start
-service ktune start
#Module conf directory
/etc/modprobe.d/*
#Install module
- modprobe -v module_name
#persistently
/etc/sysconfig/modules/*
#Remove module
- modprobe -rv module_name
#Install module with params
- modprobe -v module_name param=x
#Persistently
- /etc/modprobe.d/module.conf
-options module_name param=x
*****
-Above for - Exam Objective - configure kernel behavior by altering module parameters
______________________
#Tuned Profiles
#List of tuned profiles
-tuned-adm list
#Apply a tuned profile
-tuned-adm profile $profileName
#tuned conf file (comes from /etc/tune-profiles/my442demo/tuned.conf)
-/etc/tuned.conf
#ktune conf file (comes from etc/tune-profiles/my442demo/ktune.sysconfig)
-/etc/sysconfig/ktune
*****
-Above for - Exam Objective - select and configure tuned profiles.
______________________
#PAM Resource Limits
-man limits.conf
-edit /etc/security/limits.conf for changes
*****
-Use above for - Exam Objective -use the Pluggable Authentication Modules (PAM) mechanism to implement restrictions on critical system resources
______________________
#CGroups
#Services
-service cgconfig start
-service cgred start
#Create control groups
-vi /etc/cgconfig.conf
group bigload {
blkio {
blkio.throttle.read_bps_device = "8:0 1048576";
}
}
#Create rules based on control group
-vi /etc/cgrules.conf
*:dd blkio bigload/
#Find parameters to tune in the already-existing cgroup directories in /cgroup
*****
- Use above cgroup controls for - Exam Objective - manage system resource usage using control groups
_______________________
#HARDWARE PROFILING
-less /var/log/dmesg for hardware info at boot time
-lscpu for cpu info like cores, sockets, cache size
-getconf -a for more info, like page size
-dmidecode for hardware information
-/sys/class/dmi/... for hardware information as well
-lspci - pci bus
-lsusb - usb devices
-lshal - devices registered via HAL
-sosreport - makes tar file with lots of the above done for you in /tmp/
#I/O scheduling
-dir /sys/block/sda/queue/ has lots of tunables, such as:
nomerges - default 0 - Setting to nonzero will disable all but the most trivial merge logic
n_requests - default 128 - max # of requests which can be pending in block layer
read_ahead_kb - default 128 - max read-ahead for file systems on this devie, in KB
rq_affinity - default 1 - 1=enabled, so request completions will be scheduled on same CPU that generated request (cach optim)
scheduler - default cfq - list of potential scheduler algorithms
^ CANNOT be set persistently, so requires using a tuned profile OR /etc/init.d/rc.local
*****
- Use above for - Exam Objective - use utilities such as dmesg, dmidecode, x86info, sosreport etc. to profile system hardware configurations
_________________________
SOFTWARE PROFILING
#RHEL6 runs CFS io scheduler
-/proc/sys/kernel/ sysctl values
sched_latency_ns -default 5,000,000 - epoch duration
sched_min_granularity_ns -default 1,000,000 - 5 processes
sched_compat_yield -default 0 - blocks cpu yielding
sched_migration_cost -default 500,000 - cost to migrate to another cpu, if runtime is less than this, will try not to move
sched_rt_runtime_us -default 950,000 - max cpu time can be used on real-time tasks before pausing for below time
sched_rt_period_us -default 1,000,000 - time to wait after running real time tasks
#Processes
-chrt - manipulate real-time attribute of a process, like scheduling policy & priority
-strace -c
-ltrace -c
-nice -n $$ /dir/program
-starts a program with specific priority, if forget do man nice to see priority range
-renice allows changing priority of pid, process group, user, etc.
-look at man page for usage
*****
-Use above chrt/nice/renice for - Exam Objective - alter process priorities of both new and existing processes (nice, renice, etc) AND "I/O scheduling algorithm selection"
#valgrind
valgrind --tool=cachegrind $process
valgrind --tool=memcheck --leak-test=full -v $process
perf list
perf stat -e cache-misses $process
*******
-Use above strace, ltrace, valgrind, and perf for - Exam Objective - given multiple versions of applications that perform the same or similar tasks, choose which version of the application to run on a system based on its observed performance characteristics
-Use above for - Exam Objective - analyze system and application behavior using tools such as ps, strace, top and Valgrind
-Use above valgrind for - Exam Objective - test for memory leaks
__________________________
#Network Tuning
-ethtool options
-qperf to test speeds
-network tunables allowed in sysctl.conf are in /proc/sys/net/ipv4 and other
-remember tcp values cannot be increased above core values, so check cores before changing
-ones to remember:
-tcp_low_latency (0 off or 1 on)
-core rmem default (1/2 of max) and max
-tcp rmem (min pressure max)
-tcp mem (min pressure max)
-remember BDP (bandwidth delay product) is equal to RRT(seconds)*network speed (1Gb/1sec) = bytes for changing network tunables
*******
-Use above BDP formula and tunables for - Exam objective - calculate network buffer sizes based on known quantities such as bandwidth and round-trip time and set system buffer sizes based on those calculations
-NOTE - be sure to do a CP of ALL tunables files to /root/ BEFORE changing anything, including the tunable itself and sysctl.conf
__________________________
#Huge Pages
-mkdir /hugepages
-mount -t hugetlbfs none /hugepages
-sysctl line vm.nr_hugepages=512
-cat /proc/meminfo | less
-sysctl -p
-cat /proc/meminfo | less
*****
- Use above for - Exam Objective - configure systems to support alternate page sizes for applications that use large amounts of memory
__________________________
#SystemTap
#Packages to install
-gcc
-kernel-headers
-make
-kernel-devel
-systemtap*
-debuginfo-install kernel
#make a topsys script regular users can run
-stap -v -p 4 -m $name /usr/share/doc/systemtap-client/examples/profiling/script.stp
#copy the file to /tmp/, give user permissions to run it, then su to user, try to run with staprun to get dir to move it to
-cp /dir/$name /tmp/$name
-usermod -aG stapusr $user
-su - $user
-cd /tmp/
-staprun $name
#Now exit to root, create dir, move script there, then test with user
-exit to root
-mkdir directory from above step
-cp /dir/$name to ^
-su - $user
-staprun /dir/$name
*****
-Use above for - Exam Objective -configure systems to run SystemTap scripts
___________
#Incomplete sections for the following Exam Objectives:
-configure disk subsystems for optimal performance using mechanisms such as swap partition placement, file system layout, and others
-Swap partitions
-mkswap to make a new partition swap
-add it to /etc/fstab, giving it: /dev/blaX swap swap sw,pri=X 0 0 (pri= lower numbers fill first)
-reboot for effect
-File system layout may reference journal placement, in which case might have a separate partition for journals
NEW:
-journal and FS must have same block size
-create the journal: mkfs.ext4 -O journal_dev -b 4096 /dev/sdd1
-create the FS specifying the journal device: mkfs.ext4 -J device=/dev/sdd1 -b 4096 /dev/sdc1
OLD CONVERSION:
-find the existing block size: tune2fs -l /dev/sdc1
-create the journal device: mkfs.ext4 -O journal_dev -b 4096 /dev/sdd1
-unmount the fs: umount /dev/sdc1
-remove the existing journal: tune2fs -O '^has_journal' /dev/sdc1
-add the external journal: tune2fs -j -J device=/dev/sdd1 /dev/sdc1
-tune2fs man pages show the above commands
#Other exam objectives
-use /proc/sys, sysctl and /sys to examine and modify and set kernel run-time parameters
-use utilities such as vmstat,iostat,mpstat,sar, gnome-system-monitor, top, powertop and others to analyze and report system and application behavior
#NOTES FOR EX442
______________________
#RANDOM
#DISK SCHEDULER
- cat /sys/block/sda/queue/scheduler
#SAR and RRD FILES TO PNG FILES
-Know how to do sar -A, pick a section, find it in man page how to output just that specific section for cpu, device io, everything
-example sar -q
-14:50:01 runq-sz plist-sz ldavg-1 ldavg-5 ldavg-15
-15:00:01 3 278 0.00 0.00 0.01
-want time, load avg 1, 5, and 15
-sar -q | awk '/^:digit:][:space:][:punct:/ {print $1,$4,$5,$6}' > /root/loadavg.data
-14:50:01 ldavg-1 ldavg-5 ldavg-15
-15:00:01 0.00 0.00 0.01
#RRD files
-know how to handle RRD files and get whatever data out of it that I want
-rrdtool graph /var/www/html/file.png -X 0 --start=$(date --date=-1hour +%s) --end=$(date +%s) DEF:virtual_name_I_define:/tmp/file.rrd:datasource_name_from_file:consolidation_factor LINE1:virtual_name_I_define#000000:"Visual Name for Graph"
-man rrdgraph_examples
*****
-Above two sections for - Exam Objective - configure systems to provide performance metrics using utilities such as RRDtool
______________________
#Kernel Modules Tuning
#Services
-service tuned start
-service ktune start
#Module conf directory
/etc/modprobe.d/*
#Install module
- modprobe -v module_name
#persistently
/etc/sysconfig/modules/*
#Remove module
- modprobe -rv module_name
#Install module with params
- modprobe -v module_name param=x
#Persistently
- /etc/modprobe.d/module.conf
-options module_name param=x
*****
-Above for - Exam Objective - configure kernel behavior by altering module parameters
______________________
#Tuned Profiles
#List of tuned profiles
-tuned-adm list
#Apply a tuned profile
-tuned-adm profile $profileName
#tuned conf file (comes from /etc/tune-profiles/my442demo/tuned.conf)
-/etc/tuned.conf
#ktune conf file (comes from etc/tune-profiles/my442demo/ktune.sysconfig)
-/etc/sysconfig/ktune
*****
-Above for - Exam Objective - select and configure tuned profiles.
______________________
#PAM Resource Limits
-man limits.conf
-edit /etc/security/limits.conf for changes
*****
-Use above for - Exam Objective -use the Pluggable Authentication Modules (PAM) mechanism to implement restrictions on critical system resources
______________________
#CGroups
#Services
-service cgconfig start
-service cgred start
#Create control groups
-vi /etc/cgconfig.conf
group bigload {
blkio {
blkio.throttle.read_bps_device = "8:0 1048576";
}
}
#Create rules based on control group
-vi /etc/cgrules.conf
*:dd blkio bigload/
#Find parameters to tune in the already-existing cgroup directories in /cgroup
*****
- Use above cgroup controls for - Exam Objective - manage system resource usage using control groups
_______________________
#HARDWARE PROFILING
-less /var/log/dmesg for hardware info at boot time
-lscpu for cpu info like cores, sockets, cache size
-getconf -a for more info, like page size
-dmidecode for hardware information
-/sys/class/dmi/... for hardware information as well
-lspci - pci bus
-lsusb - usb devices
-lshal - devices registered via HAL
-sosreport - makes tar file with lots of the above done for you in /tmp/
#I/O scheduling
-dir /sys/block/sda/queue/ has lots of tunables, such as:
nomerges - default 0 - Setting to nonzero will disable all but the most trivial merge logic
n_requests - default 128 - max # of requests which can be pending in block layer
read_ahead_kb - default 128 - max read-ahead for file systems on this devie, in KB
rq_affinity - default 1 - 1=enabled, so request completions will be scheduled on same CPU that generated request (cach optim)
scheduler - default cfq - list of potential scheduler algorithms
^ CANNOT be set persistently, so requires using a tuned profile OR /etc/init.d/rc.local
*****
- Use above for - Exam Objective - use utilities such as dmesg, dmidecode, x86info, sosreport etc. to profile system hardware configurations
_________________________
SOFTWARE PROFILING
#RHEL6 runs CFS io scheduler
-/proc/sys/kernel/ sysctl values
sched_latency_ns -default 5,000,000 - epoch duration
sched_min_granularity_ns -default 1,000,000 - 5 processes
sched_compat_yield -default 0 - blocks cpu yielding
sched_migration_cost -default 500,000 - cost to migrate to another cpu, if runtime is less than this, will try not to move
sched_rt_runtime_us -default 950,000 - max cpu time can be used on real-time tasks before pausing for below time
sched_rt_period_us -default 1,000,000 - time to wait after running real time tasks
#Processes
-chrt - manipulate real-time attribute of a process, like scheduling policy & priority
-strace -c
-ltrace -c
-nice -n $$ /dir/program
-starts a program with specific priority, if forget do man nice to see priority range
-renice allows changing priority of pid, process group, user, etc.
-look at man page for usage
*****
-Use above chrt/nice/renice for - Exam Objective - alter process priorities of both new and existing processes (nice, renice, etc) AND "I/O scheduling algorithm selection"
#valgrind
valgrind --tool=cachegrind $process
valgrind --tool=memcheck --leak-test=full -v $process
perf list
perf stat -e cache-misses $process
*******
-Use above strace, ltrace, valgrind, and perf for - Exam Objective - given multiple versions of applications that perform the same or similar tasks, choose which version of the application to run on a system based on its observed performance characteristics
-Use above for - Exam Objective - analyze system and application behavior using tools such as ps, strace, top and Valgrind
-Use above valgrind for - Exam Objective - test for memory leaks
__________________________
#Network Tuning
-ethtool options
-qperf to test speeds
-network tunables allowed in sysctl.conf are in /proc/sys/net/ipv4 and other
-remember tcp values cannot be increased above core values, so check cores before changing
-ones to remember:
-tcp_low_latency (0 off or 1 on)
-core rmem default (1/2 of max) and max
-tcp rmem (min pressure max)
-tcp mem (min pressure max)
-remember BDP (bandwidth delay product) is equal to RRT(seconds)*network speed (1Gb/1sec) = bytes for changing network tunables
*******
-Use above BDP formula and tunables for - Exam objective - calculate network buffer sizes based on known quantities such as bandwidth and round-trip time and set system buffer sizes based on those calculations
-NOTE - be sure to do a CP of ALL tunables files to /root/ BEFORE changing anything, including the tunable itself and sysctl.conf
__________________________
#Huge Pages
-mkdir /hugepages
-mount -t hugetlbfs none /hugepages
-sysctl line vm.nr_hugepages=512
-cat /proc/meminfo | less
-sysctl -p
-cat /proc/meminfo | less
*****
- Use above for - Exam Objective - configure systems to support alternate page sizes for applications that use large amounts of memory
__________________________
#SystemTap
#Packages to install
-gcc
-kernel-headers
-make
-kernel-devel
-systemtap*
-debuginfo-install kernel
#make a topsys script regular users can run
-stap -v -p 4 -m $name /usr/share/doc/systemtap-client/examples/profiling/script.stp
#copy the file to /tmp/, give user permissions to run it, then su to user, try to run with staprun to get dir to move it to
-cp /dir/$name /tmp/$name
-usermod -aG stapusr $user
-su - $user
-cd /tmp/
-staprun $name
#Now exit to root, create dir, move script there, then test with user
-exit to root
-mkdir directory from above step
-cp /dir/$name to ^
-su - $user
-staprun /dir/$name
*****
-Use above for - Exam Objective -configure systems to run SystemTap scripts
___________
#Incomplete sections for the following Exam Objectives:
-configure disk subsystems for optimal performance using mechanisms such as swap partition placement, file system layout, and others
-Swap partitions
-mkswap to make a new partition swap
-add it to /etc/fstab, giving it: /dev/blaX swap swap sw,pri=X 0 0 (pri= lower numbers fill first)
-reboot for effect
-File system layout may reference journal placement, in which case might have a separate partition for journals
NEW:
-journal and FS must have same block size
-create the journal: mkfs.ext4 -O journal_dev -b 4096 /dev/sdd1
-create the FS specifying the journal device: mkfs.ext4 -J device=/dev/sdd1 -b 4096 /dev/sdc1
OLD CONVERSION:
-find the existing block size: tune2fs -l /dev/sdc1
-create the journal device: mkfs.ext4 -O journal_dev -b 4096 /dev/sdd1
-unmount the fs: umount /dev/sdc1
-remove the existing journal: tune2fs -O '^has_journal' /dev/sdc1
-add the external journal: tune2fs -j -J device=/dev/sdd1 /dev/sdc1
-tune2fs man pages show the above commands
#Other exam objectives
-use /proc/sys, sysctl and /sys to examine and modify and set kernel run-time parameters
-use utilities such as vmstat,iostat,mpstat,sar, gnome-system-monitor, top, powertop and others to analyze and report system and application behavior
Comments
-
jmritenour Member Posts: 565Thanks for the tips... I'm looking into taking this one in October maybe. Most every RHCA I know has failed this one multiple times, mostly due to the reasons you mentioned."Start by doing what is necessary, then do what is possible; suddenly, you are doing the impossible." - St. Francis of Assisi
-
rchella Registered Users Posts: 1 ■□□□□□□□□□darkerosxx.. interested in studying together for this exam? going to seat for ex413 very soon.
-
darkerosxx Banned Posts: 1,343darkerosxx wrote: »Shooting to knock this one out mid November on second attempt.
Scheduled for next week, the 11th. -
asummers Member Posts: 157darkerosxx wrote: »Scheduled for next week, the 11th.
Good luck !
Your study guide is very useful ... I do something similar -
darkerosxx Banned Posts: 1,343Studied up, practiced a ton, and got my units down... Result: pass! Gosh, what a beast this exam was. Hate to see what they come up with when they update it to RHEL7.
-
jmritenour Member Posts: 565Congrats! I was actually going to take the pilot course & exam for the RHEL7 updated version of 442 last month, but it didn't work out with my schedule. It should be GA early next year, is my understanding."Start by doing what is necessary, then do what is possible; suddenly, you are doing the impossible." - St. Francis of Assisi
-
asummers Member Posts: 157darkerosxx.. interested in studying together for this exam? going to seat for ex413 very soon.
Congratulations on your pass ... did you use the same study guide as your first post? -
darkerosxx Banned Posts: 1,343Congratulations on your pass ... did you use the same study guide as your first post?
Yeah, just more practice. I only studied four days the first attempt. -
g1soori Registered Users Posts: 1 ■□□□□□□□□□Thanks for tips...Does the course material covers all exam questions ? I have practiced the course material well.. will it be enough ? Im planning to take ex442 on RHEL6 next week..
-
dd400 Registered Users Posts: 1 ■□□□□□□□□□Hi guys!
Is it enough to study with Student Workbook or exam has any "unexpected" questions? -
u2brutus Registered Users Posts: 3 ■□□□□□□□□□If possible can someone please provide the Student Workbook please.
-
asummers Member Posts: 157If possible can someone please provide the Student Workbook please.
Very unlikely someone will give you the student book. It's only available through official training. -
prz Registered Users Posts: 2 ■□□□□□□□□□Well, sorry for digging this thread, however I'd like to ask if anybody prepared for 442 with Sander van Vugt video course?
I had his book for 200&300 and it did work fine, however I wonder if I'd need more than his video, RH kernel administration guide for the tunables and performance tuning guide for the rest.
As I've heard this exam might be a killer, could anyone give a hint about potential surprises that are not covered in the three guides/courses I mentioned above? -
ruggedjoe Registered Users Posts: 1 ■□□□□□□□□□I'm also planning to take this exam! Any tips on pitfals and surprises will be greatly appreciated.
-
sosys Registered Users Posts: 4 ■□□□□□□□□□prz said:Well, sorry for digging this thread, however I'd like to ask if anybody prepared for 442 with Sander van Vugt video course?
I had his book for 200&300 and it did work fine, however I wonder if I'd need more than his video, RH kernel administration guide for the tunables and performance tuning guide for the rest.
As I've heard this exam might be a killer, could anyone give a hint about potential surprises that are not covered in the three guides/courses I mentioned above?
also using 20150227 workbook.
pretty worried about this exam as much to cover.
Anyone has attempted this recently ? is this workbook version still valid ?
Thank you! -
sosys Registered Users Posts: 4 ■□□□□□□□□□prz said:Well, sorry for digging this thread, however I'd like to ask if anybody prepared for 442 with Sander van Vugt video course?
I had his book for 200&300 and it did work fine, however I wonder if I'd need more than his video, RH kernel administration guide for the tunables and performance tuning guide for the rest.
As I've heard this exam might be a killer, could anyone give a hint about potential surprises that are not covered in the three guides/courses I mentioned above?
also using 20150227 workbook.
pretty worried about this exam as much to cover.
Anyone has attempted this recently ? is this workbook version still valid ?
Thank you!