码迷,mamicode.com
首页 > 其他好文 > 详细

week 8

时间:2018-12-30 22:16:23      阅读:147      评论:0      收藏:0      [点我收藏+]

标签:xxxx   ip地址   soft   阻塞   情况下   大小   原来   消息队列   sleep   

1.列举常见的内核参数以及参数的意义

kernel.参数

#禁用SysRq(组合键)功能
kernel.sysrq = 0                            

#控制core文件的文件名中是否添加pid作为扩展。文件内容为1,表示添加pid作为扩展名,生成的core文件格式为core.xxxx;为0则表示生成的core文件同一命名为core
kernel.core_uses_pid = 1

#每个消息队列的最大字节限制。该文件指定一个消息队列的最大长度
kernel.msgmnb = 65536

#整个系统的最大数量的消息队列。该文件指定消息队列标识的最大数目,即系统范围内最大多少个消息队列
kernel.msgmax = 65536

#定义单个共享内存段的最大值
kernel.shmmax = 68719476736

#控制共享内存页数,Linux 共享内存页大小为4KB, 共享内存段的大小都是共享内存页大小的整数倍。一个共享内存段的最大大小是16G,那么需要共享内存页数是 16GB/4KB=16777216KB/4KB=4194304
kernel.shmall = 4294967296

#整个系统共享内存段的最大数目
kernel.shmmni = 4096

# 每个信号对象集的最大信号对象数;系统范围内最大信号对象数;每个信号对象支持的最大操作数;系统范围内最大信号对象集数
kernel.sem = 250 32000 100 128

2.如何通过/proc查看top中展示的进程状态

先用top命令查看进程信息

top - 03:28:40 up  8:01,  2 users,  load average: 0.00, 0.00, 0.00
Tasks: 114 total,   1 running, 113 sleeping,   0 stopped,   0 zombie
Cpu(s):  0.0%us,  0.0%sy,  0.0%ni,100.0%id,  0.0%wa,  0.0%hi,  0.0%si,  0.0%st
Mem:   1906492k total,   343232k used,  1563260k free,   103668k buffers
Swap:  2097148k total,        0k used,  2097148k free,    80088k cached

   PID USER      PR  NI  VIRT  RES  SHR S %CPU %MEM    TIME+  COMMAND
  8687 root      20   0 15036 1208  928 R  0.3  0.1   0:00.20 top
     1 root      20   0 19356 1532 1224 S  0.0  0.1   0:04.18 init
     2 root      20   0     0    0    0 S  0.0  0.0   0:00.02 kthreadd
     3 root      RT   0     0    0    0 S  0.0  0.0   0:00.37 migration/0
     4 root      20   0     0    0    0 S  0.0  0.0   0:00.11 ksoftirqd/0

PID :进程ID
USER :进程所有者
PR :进程的优先级别,越小越优先被执行
NI :nice值.负值表示高优先级,正值表示低优先级
VIRT :进程占用的虚拟内存
RES :进程占用的物理内存
SHR :进程使用的共享内存
S :进程的状态。S表示休眠,R表示正在运行,Z表示僵死状态,D表示不可中断的睡眠状态,T表示跟踪/停止
%CPU :进程占用CPU的使用率
%MEM :进程使用的物理内存和总内存的百分比
TIME+ :该进程启动后占用的总的CPU时间,即占用CPU使用时间的累加值。
COMMAND :进程启动命令行

使用:cat /proc/[pid]/status查看进程状态

[root@test script]# cat /proc/1/status
Name:   init
State:  S (sleeping)
Tgid:   1
Pid:    1
PPid:   0
TracerPid:  0
Uid:    0   0   0   0
Gid:    0   0   0   0
Utrace: 0
FDSize: 64
Groups:
VmPeak:    19364 kB
VmSize:    19356 kB
VmLck:         0 kB
VmHWM:      1532 kB
VmRSS:      1532 kB
VmData:      324 kB
VmStk:        88 kB
VmExe:       140 kB
VmLib:      2348 kB
VmPTE:        56 kB
VmSwap:        0 kB
Threads:    1
SigQ:   1/14719
SigPnd: 0000000000000000
ShdPnd: 0000000000000000
SigBlk: 0000000000000000
SigIgn: 0000000000001000
SigCgt: 00000001a0016623
CapInh: 0000000000000000
CapPrm: ffffffffffffffff
CapEff: fffffffffffffeff
CapBnd: ffffffffffffffff
Cpus_allowed:   ffffffff,ffffffff,ffffffff,ffffffff
Cpus_allowed_list:  0-127
Mems_allowed:   00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000001
Mems_allowed_list:  0
voluntary_ctxt_switches:    1005
nonvoluntary_ctxt_switches: 142

Name:   进程名称
State:  进程状态,R (running), S (sleeping), D (disk sleep), T (stopped), T(tracing stop), Z (zombie), or X (dead)
Tgid:   线程组号 
Pid:    进程ID 
Ppid:   父进程ID 
TracerPid: 接收跟踪该进程信息的进程的ID号,如果是0,表示没有跟踪
Uid:    Uid euid suid fsuid 
Gid:    Gid egid sgid fsgid 
    第一列数字(RUID):实际用户ID,指的是进程执行者是谁.
    第二列数字(EUID):有效用户ID,指进程执行时对文件的访问权限.
    第三列数字(SUID):保存设置用户ID,作为effective user ID的副本,在执行exec调用时后能重新恢复原来的effectiv user ID.
    第四列数字(FSUID):目前进程的文件系统的用户识别码.一般情况下,文件系统的用户识别码(fsuid)与有效的用户识别码(euid)是相同的.

FDSize: 当前分配文件描述符
Groups: 启动这个进程用户所在的组
VmPeak: 当前进程运行过程中占用内存的峰值
VmSize(KB): 进程占用的内存
VmLck(KB): 任务已经锁住的物理内存的大小。锁住的物理内存不能交换到硬盘
VmHWM(KB): 程序得到分配到物理内存的峰值
VmRSS(KB): 应用程序正在使用的物理内存的大小,就是用ps命令的参数rss的值 (rss) 
VmData(KB): 程序数据段的大小(所占虚拟内存的大小),存放初始化了的数据;
VmStk(KB): 任务在用户态的栈的大小 
VmExe(KB): 进程代码的大小
VmLib(KB): 进程所使用lib库的大小
VmPTE: 该进程的所有页表的大小,单位:kb 
Threads: 当前进程组有多少个线程
SigQ: 待处理信号的个数 
SigPnd: 屏蔽位,存储了该线程的待处理信号 
ShdPnd: 屏蔽位,存储了该线程组的待处理信号 
SigBlk: 存放被阻塞的信号 
SigIgn: 存放被忽略的信号 
SigCgt: 存放被俘获到的信号 
CapInh Inheritable,能被当前进程执行的程序的继承的能力 
CapPrm Permitted,进程能够使用的能力,可以包含CapEff中没有的能力,这些能力是被进程自己临时放弃的,CapEff是CapPrm的一个子集,进程放弃没有必要的能力有利于提高安全性 
CapEff Effective,进程的有效能力 
voluntary_ctxt_switches表示进程主动切换的次数.
nonvoluntary_ctxt_switches表示进程被动切换的次数.

3.分别用while、for循环检测10.0.0.1/24网段存活的IP地址

#!/bin/bash
###while方式
i=1
while [ $i -le 254 ];do
   if ping -w 1 -c 1 10.0.0.$i >/dev/null ;then
       echo "10.0.0.$i 存活"
   else
       echo "10.0.0.$i 离线"
   fi
   let i++
done

###for方式
for i in $(seq 1 254);do
    if ping -w 1 10.0.0.$i > /dev/null;then
        echo "10.0.0.$i 存活"
    else
        echo "10.0.0.$i 离线"
    fi
done

4.说明initrd的作用

Initrd 的英文含义是initialized RAM disk,即初始化RAM磁盘,是在系统引导过程中挂载的一个临时根文件系统,用来支持两阶段的引导过程。initrd文件中包含了各种可执行程序和驱动程序,它们可以用来挂载实际的根文件系统,然后再将这个 initrd RAM磁盘卸载,并释放内存。

week 8

标签:xxxx   ip地址   soft   阻塞   情况下   大小   原来   消息队列   sleep   

原文地址:http://blog.51cto.com/5190716/2337215

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!