MYSQL服务器的I/O调度器的选择设置

这里不介绍几种调度的原理,个人知识深度有限,其次,是基于服务器做维护调优,只要知道对我db服务器有利,即可。

一、I/O调度器的选择
目前主流Linux发行版本使用三种I/O调度器:DeadLine、CFQ、NOOP:
Deadline适用于大多数环境,特别是写入较多的文件服务器,从原理上看,DeadLine是一种以提高机械硬盘吞吐量为思考出发点的调度算法,尽量保证在有I/O请求达到最终期限的时候进行调度,非常适合业务比较单一并且I/O压力比较重的业务,比如Web服务器,数据库应用等。
CFQ 为所有进程分配等量的带宽,适用于有大量进程的多用户系统,CFQ是一种比较通用的调度算法,它是一种以进程为出发点考虑的调度算法,保证大家尽量公平,为所有进程分配等量的带宽,适合于桌面多任务及多媒体应用。
NOOP 对于闪存设备和嵌入式系统是最好的选择。对于固态硬盘来说使用NOOP是最好的,DeadLine次之,而CFQ效率最低。

二、查看Linux系统的 I/O调度器
查看Linux系统的I/O调度器一般分成两个部分,一个是查看Linux系统整体使用的I/O调度器,另一个是查看某磁盘使用的I/O调度器。

2.1 查看当前系统支持的I/O调度器,使用如下命令:

[root@localhost ~]# dmesg | grep -i scheduler
io scheduler noop registered
io scheduler anticipatory registered
io scheduler deadline registered
io scheduler cfq registered (default)

显示当前使用的调度器是cfq,就是括号括起来的那一个。

2.2 查看某块硬盘的IO调度算法I/O调度器,使用如下命令:

[root@localhost ~]# cat /sys/block/dm-1/queue/scheduler <<<<<<<这个block设备是通过sda 通过lvm虚拟化而来,所以只需关注sda盘即可
none
# cat /sys/block/sda/queue/scheduler
noop deadline [cfq]

显示当前使用的调度器是cfq,就是括号括起来的那一个。

三、修改Linux系统的 I/O调度器
修改Linux系统的 I/O调度器有三种方法,分别是使用shell命令、使用grubby命令或者修改grub配置文件。下面依次介绍:

Linux下更改的I/O调度器很简单。不需要更新内核,可以使用shell命令修改:
3.1 查使用shell命令
#echo noop > /sys/block/sdb/queue/scheduler
把noop设置为一个磁盘的I/O调度器,你可以随时更改而无需重启计算机。
永久修改默认的I/O调度器
使用shell命令修改I/O调度器,只是临时修改,系统重启后,修改的调度器就会失效,要想修改默认的调度器,有两种方法使用grubby命令或者直接编辑grub配置文件。

3.2 使用grubby命令

例如需要把I/O调度器从cfq调整成 DeadLine ,命令如下:
# grubby –grub –update-kernel=ALL –args=”elevator=deadline”
通过设置内核加载参数, 这样当机器重启的时候,系统自动把所有设备的 I/O调度器变成 DeadLine 。

3.3 使用编辑器修改配置文件
修改内核引导参数,加入elevator=调度程序名

vi /boot/grub/menu.lst
更改到如下内容:
kernel /boot/vmlinuz-2.6.32-431.el6.x86_64 ro root=LABEL=/ elevator=deadline rhgb quiet

Linux I/O调度器是 Linux 内核中的一个组成部分,用户可以通过根据不同的存储器来设置 Linux I/O 调度器从而达到优化系统性能。

linux5.6 resize2fs: Permission denied to resize filesystem

resize2fs: Permission denied to resize filesystem

linux 下lvm扩容后,进行resize2fs进行容量的生效时,发现权限拒绝;通过查看卷的权限,连接等,都没有问题;

[root@trsen /]# strace -f resize2fs /dev/mapper/vgtrsen-u02
execve("/sbin/resize2fs", ["resize2fs", "/dev/mapper/vgtrsen-u02"], [/* 26 vars */]) = 0
brk(0) = 0x25a3000
mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7fa1c75e6000
access("/etc/ld.so.preload", R_OK) = -1 ENOENT (No such file or directory)
open("/etc/ld.so.cache", O_RDONLY) = 3
fstat(3, {st_mode=S_IFREG|0644, st_size=68514, ...}) = 0
mmap(NULL, 68514, PROT_READ, MAP_PRIVATE, 3, 0) = 0x7fa1c75d5000
close(3) = 0
open("/lib64/libe2p.so.2", O_RDONLY) = 3
read(3, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0\200\37\200\3522\0\0\0"..., 832) = 832
fstat(3, {st_mode=S_IFREG|0755, st_size=34904, ...}) = 0
mmap(0x32ea800000, 2128240, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x32ea800000
mprotect(0x32ea806000, 2097152, PROT_NONE) = 0
mmap(0x32eaa06000, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x6000) = 0x32eaa06000
close(3) = 0
open("/lib64/libext2fs.so.2", O_RDONLY) = 3
read(3, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0\300\342\200\3512\0\0\0"..., 832) = 832
fstat(3, {st_mode=S_IFREG|0755, st_size=283400, ...}) = 0
mmap(0x32e9800000, 2376760, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x32e9800000
mprotect(0x32e9843000, 2093056, PROT_NONE) = 0
mmap(0x32e9a42000, 12288, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x42000) = 0x32e9a42000
close(3) = 0
open("/lib64/libcom_err.so.2", O_RDONLY) = 3
read(3, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0\20\24@\3672\0\0\0"..., 832) = 832
fstat(3, {st_mode=S_IFREG|0755, st_size=17256, ...}) = 0
mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7fa1c75d4000
mmap(0x32f7400000, 2109904, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x32f7400000
mprotect(0x32f7403000, 2093056, PROT_NONE) = 0
mmap(0x32f7602000, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x2000) = 0x32f7602000
close(3) = 0
open("/lib64/libc.so.6", O_RDONLY) = 3
read(3, "\177ELF\2\1\1\3\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0000\356\301\3512\0\0\0"..., 832) = 832
fstat(3, {st_mode=S_IFREG|0755, st_size=1930416, ...}) = 0
mmap(0x32e9c00000, 3750184, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x32e9c00000
mprotect(0x32e9d8a000, 2097152, PROT_NONE) = 0
mmap(0x32e9f8a000, 24576, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x18a000) = 0x32e9f8a000
mmap(0x32e9f90000, 14632, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0x32e9f90000
close(3) = 0
open("/lib64/libpthread.so.0", O_RDONLY) = 3
read(3, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0000^\0\3522\0\0\0"..., 832) = 832
fstat(3, {st_mode=S_IFREG|0755, st_size=146592, ...}) = 0
mmap(0x32ea000000, 2212848, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x32ea000000
mprotect(0x32ea017000, 2097152, PROT_NONE) = 0
mmap(0x32ea217000, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x17000) = 0x32ea217000
mmap(0x32ea219000, 13296, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0x32ea219000
close(3) = 0
mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7fa1c75d3000
mmap(NULL, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7fa1c75d1000
arch_prctl(ARCH_SET_FS, 0x7fa1c75d1720) = 0
mprotect(0x60a000, 4096, PROT_READ) = 0
mprotect(0x32eaa06000, 4096, PROT_READ) = 0
mprotect(0x32e9a42000, 4096, PROT_READ) = 0
mprotect(0x32f7602000, 4096, PROT_READ) = 0
mprotect(0x32e9f8a000, 16384, PROT_READ) = 0
mprotect(0x32ea217000, 4096, PROT_READ) = 0
mprotect(0x32e9620000, 4096, PROT_READ) = 0
munmap(0x7fa1c75d5000, 68514) = 0
set_tid_address(0x7fa1c75d19f0) = 12343
set_robust_list(0x7fa1c75d1a00, 24) = 0
futex(0x7ffd27f5ef4c, FUTEX_WAKE_PRIVATE, 1) = 0
futex(0x7ffd27f5ef4c, FUTEX_WAIT_BITSET_PRIVATE|FUTEX_CLOCK_REALTIME, 1, NULL, 7fa1c75d1720) = -1 EAGAIN (Resource temporarily unavailable)
rt_sigaction(SIGRTMIN, {0x32ea005cb0, [], SA_RESTORER|SA_SIGINFO, 0x32ea00f7e0}, NULL, 8) = 0
rt_sigaction(SIGRT_1, {0x32ea005d40, [], SA_RESTORER|SA_RESTART|SA_SIGINFO, 0x32ea00f7e0}, NULL, 8) = 0
rt_sigprocmask(SIG_UNBLOCK, [RTMIN RT_1], NULL, 8) = 0
getrlimit(RLIMIT_STACK, {rlim_cur=8192*1024, rlim_max=RLIM64_INFINITY}) = 0
brk(0) = 0x25a3000
brk(0x25c4000) = 0x25c4000
open("/usr/lib/locale/locale-archive", O_RDONLY) = 3
fstat(3, {st_mode=S_IFREG|0644, st_size=99174448, ...}) = 0
mmap(NULL, 99174448, PROT_READ, MAP_PRIVATE, 3, 0) = 0x7fa1c173c000
close(3) = 0
write(2, "resize2fs 1.43-WIP (20-Jun-2013)"..., 33resize2fs 1.43-WIP (20-Jun-2013)
) = 33
stat("/dev/mapper/vgtrsen-u02", {st_mode=S_IFBLK|0660, st_rdev=makedev(251, 3), ...}) = 0
open("/proc/swaps", O_RDONLY) = 3
fstat(3, {st_mode=S_IFREG|0444, st_size=0, ...}) = 0
mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7fa1c75e5000
read(3, "Filename\t\t\t\tType\t\tSize\tUsed\tPrio"..., 1024) = 161
stat("/dev/dm-1", {st_mode=S_IFBLK|0660, st_rdev=makedev(251, 1), ...}) = 0
stat("/swap1", {st_mode=S_IFREG|0644, st_size=21474836480, ...}) = 0
read(3, "", 1024) = 0
close(3) = 0
munmap(0x7fa1c75e5000, 4096) = 0
open("/proc/mounts", O_RDONLY|O_CLOEXEC) = 3
stat("/dev/mapper/vgtrsen-u02", {st_mode=S_IFBLK|0660, st_rdev=makedev(251, 3), ...}) = 0
futex(0x32e9f91040, FUTEX_WAKE_PRIVATE, 2147483647) = 0
fstat(3, {st_mode=S_IFREG|0444, st_size=0, ...}) = 0
mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7fa1c75e5000
read(3, "proc /proc proc rw,relatime 0 0\n"..., 1024) = 835
stat("/dev/mapper/vg_hpdpre-lv_root", {st_mode=S_IFBLK|0660, st_rdev=makedev(251, 0), ...}) = 0
stat("/dev/sda1", {st_mode=S_IFBLK|0660, st_rdev=makedev(8, 1), ...}) = 0
stat("/dev/mapper/vg_hpdpre-lv_home", {st_mode=S_IFBLK|0660, st_rdev=makedev(251, 4), ...}) = 0
stat("/dev/mapper/vgtrsen-u01", {st_mode=S_IFBLK|0660, st_rdev=makedev(251, 2), ...}) = 0
stat("/etc/auto.misc", {st_mode=S_IFREG|0644, st_size=524, ...}) = 0
stat("/u02", {st_mode=S_IFDIR|0755, st_size=4096, ...}) = 0
close(3) = 0
munmap(0x7fa1c75e5000, 4096) = 0
stat("/dev/mapper/vgtrsen-u02", {st_mode=S_IFBLK|0660, st_rdev=makedev(251, 3), ...}) = 0
open("/dev/mapper/vgtrsen-u02", O_RDONLY|O_EXCL) = -1 EBUSY (Device or resource busy)
open("/dev/mapper/vgtrsen-u02", O_RDWR) = 3
fstat(3, {st_mode=S_IFBLK|0660, st_rdev=makedev(251, 3), ...}) = 0
close(3) = 0
open("/dev/mapper/vgtrsen-u02", O_RDONLY) = 3
stat("/dev/mapper/vgtrsen-u02", {st_mode=S_IFBLK|0660, st_rdev=makedev(251, 3), ...}) = 0
ioctl(3, BLKDISCARDZEROES, 0) = 0
lseek(3, 1024, SEEK_SET) = 1024
read(3, "\0pT\16\0004\243r\201N\177\5-\372.\7UbT\16\0\0\0\0\2\0\0\0\2\0\0\0"..., 1024) = 1024
mmap(NULL, 1884160, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7fa1c1570000
lseek(3, 4096, SEEK_SET) = 4096
read(3, "\1\4\0\0\21\4\0\0!\4\0\0\331\3\364\17\2\0\4\0\0\0\0\0\0\0\0\0\363\0175\2"..., 1880064) = 1880064
open("/dev/mapper/vgtrsen-u02", O_RDONLY) = 4
uname({sys="Linux", node="trsen.test.hpay", ...}) = 0
ioctl(4, BLKGETSIZE64, 8736823312384) = 0
close(4) = 0
open("/usr/share/locale/locale.alias", O_RDONLY|O_CLOEXEC) = 4
fstat(4, {st_mode=S_IFREG|0644, st_size=2512, ...}) = 0
mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7fa1c75e5000
read(4, "# Locale name alias data base.\n#"..., 4096) = 2512
read(4, "", 4096) = 0
close(4) = 0
munmap(0x7fa1c75e5000, 4096) = 0
open("/usr/share/locale/en_US.UTF-8/LC_MESSAGES/e2fsprogs.mo", O_RDONLY) = -1 ENOENT (No such file or directory)
open("/usr/share/locale/en_US.utf8/LC_MESSAGES/e2fsprogs.mo", O_RDONLY) = -1 ENOENT (No such file or directory)
open("/usr/share/locale/en_US/LC_MESSAGES/e2fsprogs.mo", O_RDONLY) = -1 ENOENT (No such file or directory)
open("/usr/share/locale/en.UTF-8/LC_MESSAGES/e2fsprogs.mo", O_RDONLY) = -1 ENOENT (No such file or directory)
open("/usr/share/locale/en.utf8/LC_MESSAGES/e2fsprogs.mo", O_RDONLY) = -1 ENOENT (No such file or directory)
open("/usr/share/locale/en/LC_MESSAGES/e2fsprogs.mo", O_RDONLY) = -1 ENOENT (No such file or directory)
fstat(1, {st_mode=S_IFCHR|0620, st_rdev=makedev(136, 0), ...}) = 0
mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7fa1c75e5000
write(1, "Filesystem at /dev/mapper/vghpcp"..., 85Filesystem at /dev/mapper/vgtrsen-u02 is mounted on /u02; on-line resizing required
) = 85
write(1, "old_desc_blocks = 459, new_desc_"..., 45old_desc_blocks = 459, new_desc_blocks = 509
) = 45
access("/sys/fs/ext4/features/meta_bg_resize", R_OK) = 0
open("/u02", O_RDONLY) = 4
ioctl(4, 0x40086610, 0x7ffd27f5eec8) = -1 EPERM (Operation not permitted)
write(2, "resize2fs", 9resize2fs) = 9
write(2, ": ", 2: ) = 2
write(2, "Permission denied to resize file"..., 38Permission denied to resize filesystem) = 38
ioctl(2, SNDCTL_TMR_TIMEBASE or SNDRV_TIMER_IOCTL_NEXT_DEVICE or TCGETS, {B38400 opost isig icanon echo ...}) = 0
ioctl(2, SNDCTL_TMR_TIMEBASE or SNDRV_TIMER_IOCTL_NEXT_DEVICE or TCGETS, {B38400 opost isig icanon echo ...}) = 0
write(2, "\n", 1
) = 1
exit_group(1) = ?
+++ exited with 1 +++
[root@trsen /]# resize2fs /dev/mapper/vgtrsen-u02 
resize2fs 1.43-WIP (20-Jun-2013)
Filesystem at /dev/mapper/vgtrsen-u02 is mounted on /u02; on-line resizing required
old_desc_blocks = 459, new_desc_blocks = 509
resize2fs: Permission denied to resize filesystem
[root@trsen /]# df -h
Filesystem Size Used Avail Use% Mounted on
/dev/mapper/vg_hpdpre-lv_root
50G 25G 22G 54% /
tmpfs 120G 72K 120G 1% /dev/shm
/dev/sda1 477M 81M 367M 19% /boot
/dev/mapper/vg_hpdpre-lv_home
39G 30G 7.4G 80% /home
/dev/mapper/vgtrsen-u01
99G 29G 66G 31% /u01
/dev/mapper/vgtrsen-u02
7.2T 6.7T 108G 99% /u02
[root@trsen /]# umount /u02
[root@trsen /]# resize2fs /dev/mapper/vgtrsen-u02 
resize2fs 1.43-WIP (20-Jun-2013)
Please run 'e2fsck -f /dev/mapper/vgtrsen-u02' first.
[root@trsen /]# e2fsck -f /dev/mapper/vgtrsen-u02
e2fsck 1.43-WIP (20-Jun-2013)
Pass 1: Checking inodes, blocks, and sizes

Pass 2: Checking directory structure
Pass 3: Checking directory connectivity
Pass 4: Checking reference counts
Pass 5: Checking group summary information
/dev/mapper/vgtrsen-u02: 3499/240414720 files (1.3% non-contiguous), 1802779091/1923298304 blocks
[root@trsen /]# 
[root@trsen /]# mount /dev/mapper/vgtrsen-u02 /u02
[root@trsen /]# df -h
Filesystem Size Used Avail Use% Mounted on
/dev/mapper/vg_hpdpre-lv_root
50G 25G 22G 54% /
tmpfs 120G 72K 120G 1% /dev/shm
/dev/sda1 477M 81M 367M 19% /boot
/dev/mapper/vg_hpdpre-lv_home
39G 30G 7.4G 80% /home
/dev/mapper/vgtrsen-u01
99G 29G 66G 31% /u01
/dev/mapper/vgtrsen-u02
7.2T 6.7T 108G 99% /u02
[root@trsen /]# cd /u02
[root@trsen u02]# ls -lat
total 40
dr-xr-xr-x. 28 root root 4096 Jan 29 16:12 ..
drwxr-xr-x 7 oracle oinstall 4096 Jan 2 15:54 .
drwxr-xr-x 3 oracle oinstall 4096 Jan 2 14:04 media
drwxr-xr-x 3 oracle oinstall 4096 Nov 22 13:16 rman
drwxr-xr-x 4 oracle oinstall 4096 Nov 19 18:40 arch
drwxr-xr-x 3 oracle oinstall 4096 Nov 19 18:40 oradata
drwxr-xr-x 2 oracle oinstall 16384 Nov 19 17:51 lost+found
[root@trsen u02]# resize2fs /dev/mapper/vgtrsen-u02 
resize2fs 1.43-WIP (20-Jun-2013)
Filesystem at /dev/mapper/vgtrsen-u02 is mounted on /u02; on-line resizing required
old_desc_blocks = 459, new_desc_blocks = 509
The filesystem on /dev/mapper/vgtrsen-u02 is now 2133013504 blocks long.

可能是因为之前对此设备做了快照时,产生一些无操作后,导致文件系统产生了不一致的状态,所以通过强制一致性检查后,再进行生效即可

监控某linux进程信息

[oracle@datahouse merchant]$ while : ; do ps aux |grep 29712|grep -v grep|awk '{print }'>>t ; sleep 5; done
USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND
oracle 29712 89.8 19.7 6910912 6519320 ? Rl 11:38 242:27 /usr/bin/python merchant.py
oracle 29712 89.8 19.7 6910912 6519320 ? Rl 11:38 242:27 /usr/bin/python merchant.py
oracle 29712 89.8 20.2 7121844 6657248 ? Rl 11:38 242:32 /usr/bin/python merchant.py
oracle 29712 89.8 19.8 6915592 6524000 ? Rl 11:38 242:32 /usr/bin/python merchant.py
oracle 29712 89.8 19.8 6919504 6527804 ? Rl 11:38 242:37 /usr/bin/python merchant.py
oracle 29712 89.8 19.8 6920284 6528692 ? Rl 11:38 242:37 /usr/bin/python merchant.py
oracle 29712 89.8 19.8 6924192 6532552 ? Rl 11:38 242:42 /usr/bin/python merchant.py
oracle 29712 89.8 20.3 7134352 6690844 ? Rl 11:38 242:42 /usr/bin/python merchant.py
oracle 29712 89.8 19.2 6717156 6325440 ? Rl 11:38 242:47 /usr/bin/python merchant.py
oracle 29712 89.8 19.8 6928876 6537044 ? Rl 11:38 242:47 /usr/bin/python merchant.py
oracle 29712 89.8 19.0 6720284 6283972 ? Rl 11:38 242:52 /usr/bin/python merchant.py
oracle 29712 89.8 19.8 6933568 6538628 ? Rl 11:38 242:52 /usr/bin/python merchant.py
oracle 29712 89.8 18.5 6508560 6116968 ? Rl 11:38 242:57 /usr/bin/python merchant.py
oracle 29712 89.8 19.1 6723404 6307312 ? Rl 11:38 242:57 /usr/bin/python merchant.py
oracle 29712 89.8 18.5 6510124 6118532 ? Rl 11:38 243:02 /usr/bin/python merchant.py
oracle 29712 89.8 18.5 6510124 6118532 ? Rl 11:38 243:02 /usr/bin/python merchant.py
oracle 29712 89.8 19.2 6728092 6336500 ? Rl 11:38 243:06 /usr/bin/python merchant.py
oracle 29712 89.8 18.5 6511684 6120092 ? Rl 11:38 243:07 /usr/bin/python merchant.py
oracle 29712 89.8 20.3 7167164 6712580 ? Rl 11:38 243:11 /usr/bin/python merchant.py
oracle 29712 89.8 19.2 6731220 6339628 ? Rl 11:38 243:12 /usr/bin/python merchant.py
oracle 29712 89.8 19.9 6953092 6561500 ? Rl 11:38 243:16 /usr/bin/python merchant.py
------------------------------------------------------

USER 域指明了是哪个用户启动了这个命令;
CPU 用户可以查看某个进程占用了多少CPU;
%MEM 内存使用
VSZ表示如果一个程序完全驻留在内存的话需要占用多少内存空间;
RSS指明了当前实际占用了多少内存;
STAT显示了进程当前的状态:
D 不可中断 Uninterruptible(usually IO)
R 正在运行,或在队列中的进程
S 处于休眠状态
T 停止或被追踪
Z 僵尸进程
W 进入内存交换(从内核2.6开始无效)
X 死掉的进程

局域网yum源配置

局域网yum源配置
为了满足快速部署软件时的rpm快速按照,在公司局域网里配置本地yum源,便于其他机器访问

在yum源服务器上配置及安装createrepo

 [root@mm mnt]# mount -o loop -t iso9660 /tmp/V138414-01.iso /mnt/iso/
 mount: /tmp/V138414-01.iso is write-protected, mounting read-only
 [root@mm mnt]# df -h
 Filesystem Size Used Avail Use% Mounted on
 /dev/mapper/vg_m1-lv_root
 18G 5.1G 12G 32% /
 tmpfs 497M 0 497M 0% /dev/shm
 /dev/sda1 477M 72M 376M 17% /boot
 /tmp/V138414-01.iso 3.8G 3.8G 0 100% /mnt/iso

[root@mm mnt]# more /etc/yum.repos.d/rhel_6.8.repo
 [RHEL6.8-iso]
 Name=RHEL6.8
 Baseurl=file:///mnt/iso
 gpgcheck=1
 Enabled=1
 gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-oracle

[root@mm iso]# yum install httpd createrepo
 Loaded plugins: ulninfo
 Setting up Install Process
 RHEL6.8-iso | 3.7 kB 00:00 ...
 Resolving Dependencies
 --> Running transaction check
 ---> Package createrepo.noarch 0:0.9.9-24.el6 will be installed
 --> Processing Dependency: python-deltarpm for package: createrepo-0.9.9-24.el6.noarch
 ---> Package httpd.x86_64 0:2.2.15-53.0.1.el6 will be installed
 --> Processing Dependency: httpd-tools = 2.2.15-53.0.1.el6 for package: httpd-2.2.15-53.0.1.el6.x86_64
 --> Processing Dependency: apr-util-ldap for package: httpd-2.2.15-53.0.1.el6.x86_64
 --> Processing Dependency: /etc/mime.types for package: httpd-2.2.15-53.0.1.el6.x86_64
 --> Processing Dependency: libaprutil-1.so.0()(64bit) for package: httpd-2.2.15-53.0.1.el6.x86_64
 --> Processing Dependency: libapr-1.so.0()(64bit) for package: httpd-2.2.15-53.0.1.el6.x86_64
 --> Running transaction check
 ---> Package apr.x86_64 0:1.3.9-5.el6_2 will be installed
 ---> Package apr-util.x86_64 0:1.3.9-3.el6_0.1 will be installed
 ---> Package apr-util-ldap.x86_64 0:1.3.9-3.el6_0.1 will be installed
 ---> Package httpd-tools.x86_64 0:2.2.15-53.0.1.el6 will be installed
 ---> Package mailcap.noarch 0:2.1.31-2.el6 will be installed
 ---> Package python-deltarpm.x86_64 0:3.5-0.5.20090913git.el6 will be installed
 --> Processing Dependency: deltarpm = 3.5-0.5.20090913git.el6 for package: python-deltarpm-3.5-0.5.20090913git.el6.x86_64
 --> Running transaction check
 ---> Package deltarpm.x86_64 0:3.5-0.5.20090913git.el6 will be installed
 --> Finished Dependency Resolution

Dependencies Resolved

========================================================================================================================================
 Package Arch Version Repository Size
 ========================================================================================================================================
 Installing:
 createrepo noarch 0.9.9-24.el6 RHEL6.8-iso 96 k
 httpd x86_64 2.2.15-53.0.1.el6 RHEL6.8-iso 832 k
 Installing for dependencies:
 apr x86_64 1.3.9-5.el6_2 RHEL6.8-iso 122 k
 apr-util x86_64 1.3.9-3.el6_0.1 RHEL6.8-iso 87 k
 apr-util-ldap x86_64 1.3.9-3.el6_0.1 RHEL6.8-iso 15 k
 deltarpm x86_64 3.5-0.5.20090913git.el6 RHEL6.8-iso 70 k
 httpd-tools x86_64 2.2.15-53.0.1.el6 RHEL6.8-iso 78 k
 mailcap noarch 2.1.31-2.el6 RHEL6.8-iso 26 k
 python-deltarpm x86_64 3.5-0.5.20090913git.el6 RHEL6.8-iso 27 k

Transaction Summary
 ========================================================================================================================================
 Install 9 Package(s)

Total download size: 1.3 M
 Installed size: 4.2 M
 Is this ok [y/N]: y
 Downloading Packages:
 ----------------------------------------------------------------------------------------------------------------------------------------
 Total 77 MB/s | 1.3 MB 00:00
 warning: rpmts_HdrFromFdno: Header V3 RSA/SHA256 Signature, key ID ec551f03: NOKEY
 Retrieving key from file:///etc/pki/rpm-gpg/RPM-GPG-KEY-oracle
 Importing GPG key 0xEC551F03:
 Userid : Oracle OSS group (Open Source Software group) <build@oss.oracle.com>
 Package: 6:oraclelinux-release-6Server-8.0.3.x86_64 (@anaconda-OracleLinuxServer-201605181719.x86_64/6.8)
 From : /etc/pki/rpm-gpg/RPM-GPG-KEY-oracle
 Is this ok [y/N]: y
 Running rpm_check_debug
 Running Transaction Test
 Transaction Test Succeeded
 Running Transaction
 Installing : apr-1.3.9-5.el6_2.x86_64 1/9
 Installing : apr-util-1.3.9-3.el6_0.1.x86_64 2/9
 Installing : httpd-tools-2.2.15-53.0.1.el6.x86_64 3/9
 Installing : apr-util-ldap-1.3.9-3.el6_0.1.x86_64 4/9
 Installing : mailcap-2.1.31-2.el6.noarch 5/9
 Installing : deltarpm-3.5-0.5.20090913git.el6.x86_64 6/9
 Installing : python-deltarpm-3.5-0.5.20090913git.el6.x86_64 7/9
 Installing : createrepo-0.9.9-24.el6.noarch 8/9
 Installing : httpd-2.2.15-53.0.1.el6.x86_64 9/9
 Verifying : createrepo-0.9.9-24.el6.noarch 1/9
 Verifying : httpd-tools-2.2.15-53.0.1.el6.x86_64 2/9
 Verifying : apr-util-ldap-1.3.9-3.el6_0.1.x86_64 3/9
 Verifying : apr-1.3.9-5.el6_2.x86_64 4/9
 Verifying : deltarpm-3.5-0.5.20090913git.el6.x86_64 5/9
 Verifying : httpd-2.2.15-53.0.1.el6.x86_64 6/9
 Verifying : mailcap-2.1.31-2.el6.noarch 7/9
 Verifying : python-deltarpm-3.5-0.5.20090913git.el6.x86_64 8/9
 Verifying : apr-util-1.3.9-3.el6_0.1.x86_64 9/9

Installed:
 createrepo.noarch 0:0.9.9-24.el6 httpd.x86_64 0:2.2.15-53.0.1.el6

Dependency Installed:
 apr.x86_64 0:1.3.9-5.el6_2 apr-util.x86_64 0:1.3.9-3.el6_0.1 apr-util-ldap.x86_64 0:1.3.9-3.el6_0.1
 deltarpm.x86_64 0:3.5-0.5.20090913git.el6 httpd-tools.x86_64 0:2.2.15-53.0.1.el6 mailcap.noarch 0:2.1.31-2.el6
 python-deltarpm.x86_64 0:3.5-0.5.20090913git.el6

Complete!

在yum源服务器上建立各个镜像的文件目录信息

 mkdir -p /data/yum.repo/orhel/6/os/x86_64/Packages
 mkdir -p /data/yum.repo/orhel/6/updates/x86_64/Packages
 mkdir -p /data/yum.repo/tools/

cp -R /mnt/iso/Packages/* /data/yum.repo/orhel/6/os/x86_64/Packages/
 cp -R /mnt/iso/repodata /data/yum.repo/orhel/6/updates/x86_64
 cp -R /mnt/iso/repodata /data/yum.repo/orhel/6/os/x86_64
 cp -R /mnt/iso/Server /data/yum.repo/orhel/6/os/x86_64
 cp -R /mnt/iso/repodata /data/yum.repo/tools
 cp -R /mnt/iso/RPM-GPG-KEY-oracle /data/yum.repo/

在yum源服务器上启动apache服务

 [root@mm data]# cd /var/www/html/
 [root@mm html]# ls
 [root@mm html]# rm -rf /var/www/html/
 [root@mm ~]# ln -s /data/yum.repo/ /var/www/html

[root@mm ~]# chkconfig --list |grep httpd
 httpd 0:off 1:off 2:off 3:off 4:off 5:off 6:off
 [root@mm ~]# chkconfig httpd on
 [root@mm ~]# chkconfig --list |grep httpd
 httpd 0:off 1:off 2:on 3:on 4:on 5:on 6:off

[root@mm ~]# service httpd restart
 Stopping httpd: [ OK ]
 Starting httpd: httpd: Could not reliably determine the server's fully qualified domain name, using mm.oracle.com for ServerName
 [ OK ]

验证配置好的yum服务器是否具有连通性

 [root@mm ~]# wget http://192.168.56.190/RPM-GPG-KEY-oracle
 --2018-04-03 22:53:25-- http://192.168.56.190/RPM-GPG-KEY-oracle
 Connecting to 192.168.56.190:80... connected.
 HTTP request sent, awaiting response... 403 Forbidden
 2018-04-03 22:53:25 ERROR 403: Forbidden.

note:需要关闭防火墙及selinux

[root@mm ~]# wget http://192.168.56.190/RPM-GPG-KEY-oracle
 --2018-04-03 22:58:37-- http://192.168.56.190/RPM-GPG-KEY-oracle
 Connecting to 192.168.56.190:80... connected.
 HTTP request sent, awaiting response... 200 OK
 Length: 1011 [text/plain]
 Saving to: “RPM-GPG-KEY-oracle.1”
 100%[===============================================================>] 1,011 --.-K/s in 0s
 2018-04-03 22:58:37 (132 MB/s) - “RPM-GPG-KEY-oracle.1” saved [1011/1011]

client段配置参数文件,进行相关rmp的安装

 [root@m1 tmp]# more /etc/yum.repos.d/public-yum-ol6.repo
 [base]
 name=CentOS-$releasever - Base
 baseurl=http://192.168.56.190/orhel/6/os/$basearch/
 gpgcheck=1
 enabled=1
 gpgkey=http://192.168.56.190/RPM-GPG-KEY-oracle

[root@m1 tmp]# yum makecache
 Loaded plugins: ulninfo
 base | 3.7 kB 00:00
 Metadata Cache Created