linux内核 task cmd,linux内核

标签:

1. 常见内核参数

内核参数一般在/proc/sys 目录中

临时改变某个系统参数的值,可以用两种方法来实现,如

1) echo 1 > /proc/sys/net/ipv4/ip_forward

2) sysctl -w net.ipv4.ip_forward=1

以上两种方法都可能立即开启路由转发功能,但如果系统重启,或者重启网络所设置的值即会丢失,

永久保留配置,可以修改/etc/sysctl.conf文件

net.ipv4.ip_forward=0改为net.ipv4.ip_forward=1

sysctl命令的作用

-w 用此选项来改变一个sysctl设置 sysctl -w net.ipv4.ip_forward=1

-p 载入sysctl配置文件 -p后未指定路径,则载入 /etc/sysctl.conf

常用参数(0表示关闭,1表示开启)

net.ipv4.tcp_syncookies = 1 默认1

是否打开SYN Cookie功能,该功能可以防止部分SYN***

net.ipv4.ip_local_port_range= 1024 65535 默认32768 60999

可用端口的范围 修改成1024 65535 可提高并发连接数量

net.ipv4.tcp_fin_timeout =30 默认60

tcp超时时间

net.ipv4.tcp_timestamps = 1 默认1

TCP时间戳 服务器开启,客户端可关闭

net.ipv4.tcp_tw_recycle = 0 默认0

快速回收处于TIME_WAIT状态的socket,建议关闭

net.ipv4.tcp_tw_reuse = 1 默认0

针对TIME-WAIT,做为客户端可以启用

net.ipv4.tcp_max_tw_buckets = 262144 默认262144

针对TIME-WAIT,配置其上限

net.ipv4.tcp_max_orphans = 3276800 默认16384

orphans的最大值

net.ipv4.tcp_max_syn_backlog = 819200 默认128

增大SYN队列的长度,容纳更多连接

net.ipv4.tcp_keepalive_intvl = 30 默认75

探测失败后,间隔几秒后重新探测

net.ipv4.tcp_keepalive_probes = 3 默认9

探测失败后,最多尝试探测几次

net.ipv4.tcp_keepalive_time = 1200 默认7200

间隔多久发送1次keepalive探测包

net.netfilter.nf_conntrack_tcp_timeout_established = 600 默认432000

设置 conntrack tcp 状态的超时时间,如果系统出现下述异常时要考虑调整:ping: sendmsg: Operation not permitted

kernel: nf_conntrack: table full, dropping packet.

net.netfilter.nf_conntrack_max = 655350 默认65535

设置 conntrack 的上限,如果系统出现下述异常时要考虑调整:

ping: sendmsg: Operation not permitted

kernel: nf_conntrack: table full, dropping packet.

net.core.netdev_max_backlog = 500000 默认1000

网卡设备将请求放入队列的长度

net.core.somaxconn = 65536 默认128

已经成功建立连接的套接字将要进入队列的长度

net.core.rmem_default = 8388608 默认值:212992

默认的TCP数据接收窗口大小(字节)

net.core.wmem_default = 8388608 默认值:212992

默认的TCP数据发送窗口大小(字节)

net.core.rmem_max = 16777216 默认值:212992

最大的TCP数据接收窗口大小(字节)

net.core.wmem_max = 16777216 默认值:212992

最大的TCP数据发送窗口大小(字节)

net.ipv4.tcp_mem = 94500000 915000000 927000000 默认值:94389 125854 188778

内存使用的下限 警戒值 上限

net.ipv4.tcp_rmem = 4096 87380 16777216 默认值:4096 87380 6291456

socket接收缓冲区内存使用的下限 警戒值 上限

net.ipv4.tcp_wmem = 4096 16384 16777216 默认值:4096 16384 4194304

socket发送缓冲区内存使用的下限 警戒值 上限

net.ipv4.tcp_thin_dupack = 1 默认值:0

收到dupACK时要去检查tcp stream是不是 thin ( less than 4 packets in flight)

net.ipv4.tcp_thin_linear_timeouts = 1 默认值:0

重传超时后要去检查tcp stream是不是 thin ( less than 4 packets in flight)

net.unix.max_dgram_qlen = 30000 默认值:10

UDP队列里数据报的最大个数

kernel.randomize_va_space = 1 默认值:2

内核的随机地址保护模式

kernel.panic = 1 默认值:0

内核panic时,1秒后自动重启

kernel.corepattern = core%e 默认值:|/usr/libexec/abrt-hook-ccpp %s %c %p %u %g %t e

程序生成core时的文件名格式

kernel.sysrq = 0 默认值:0

是否启用sysrq功能

vm.min_free_kbytes=901120 默认值:8039

保留内存的最低值

vm.panic_on_oom=1 默认值:0

发生oom时,自动转换为panic

vm.min_free_kbytes=1048576 默认值:45056

保留最低可用内存

vm.swappiness=20 默认值:60

数值(0-100)越高,越可能发生swap交换

fs.inotify.max_user_watches=8192000 默认值:8192

inotify的watch数量

fs.aio-max-nr=1048576 默认值:65536

aio最大值

fs.file-max = 1048575 默认值:98529

文件描述符的最大值

(针对lvs,关闭网卡LRO/GRO功能

ethtool -k eth0 查看LRO/GRO当前是否打开

ethtool -K eth0 lro off 关闭GRO

ethtool -K eth0 gro off 关闭GRO)

2.通过/proc查看top的进程状态

进程运行时会生成目录/proc/PID,里面记录进程详细状态,每个进程生成一个以pid为名的文件夹

[root@centos7 sudoers.d]#ll /proc/1

total 0

dr-xr-xr-x 2 root root 0 Dec 25 18:37 attr

-rw-r--r-- 1 root root 0 Dec 25 18:37 autogroup

-r-------- 1 root root 0 Dec 25 18:37 auxv

-r--r--r-- 1 root root 0 Dec 17 22:17 cgroup

--w------- 1 root root 0 Dec 25 18:37 clear_refs

-r--r--r-- 1 root root 0 Dec 17 22:17 cmdline

-rw-r--r-- 1 root root 0 Dec 17 22:17 comm

-rw-r--r-- 1 root root 0 Dec 25 18:37 coredump_filter

-r--r--r-- 1 root root 0 Dec 25 18:37 cpuset

lrwxrwxrwx 1 root root 0 Dec 25 18:37 cwd -> /

-r-------- 1 root root 0 Dec 17 22:17 environ

lrwxrwxrwx 1 root root 0 Dec 17 22:17 exe -> /usr/lib/systemd/systemd

dr-x------ 2 root root 0 Dec 25 18:37 fd

dr-x------ 2 root root 0 Dec 25 18:37 fdinfo

-rw-r--r-- 1 root root 0 Dec 25 18:37 gid_map

-r-------- 1 root root 0 Dec 25 18:37 io

-r--r--r-- 1 root root 0 Dec 25 18:37 limits

-rw-r--r-- 1 root root 0 Dec 17 22:17 loginuid

dr-x------ 2 root root 0 Dec 25 18:37 map_files

-r--r--r-- 1 root root 0 Dec 25 18:37 maps

-rw------- 1 root root 0 Dec 25 18:37 mem

-r--r--r-- 1 root root 0 Dec 15 15:54 mountinfo

-r--r--r-- 1 root root 0 Dec 25 18:37 mounts

-r-------- 1 root root 0 Dec 25 18:37 mountstats

dr-xr-xr-x 6 root root 0 Dec 25 18:37 net

dr-x--x--x 2 root root 0 Dec 25 18:37 ns

-r--r--r-- 1 root root 0 Dec 25 18:37 numa_maps

-rw-r--r-- 1 root root 0 Dec 25 18:37 oom_adj

-r--r--r-- 1 root root 0 Dec 25 18:37 oom_score

-rw-r--r-- 1 root root 0 Dec 24 18:58 oom_score_adj

-r--r--r-- 1 root root 0 Dec 25 18:37 pagemap

-r--r--r-- 1 root root 0 Dec 25 18:37 personality

-rw-r--r-- 1 root root 0 Dec 25 18:37 projid_map

lrwxrwxrwx 1 root root 0 Dec 17 22:18 root -> /

-rw-r--r-- 1 root root 0 Dec 25 18:37 sched

-r--r--r-- 1 root root 0 Dec 25 18:37 schedstat

-r--r--r-- 1 root root 0 Dec 17 22:17 sessionid

-rw-r--r-- 1 root root 0 Dec 25 18:37 setgroups

-r--r--r-- 1 root root 0 Dec 25 18:37 smaps

-r--r--r-- 1 root root 0 Dec 25 18:37 stack

-r--r--r-- 1 root root 0 Dec 17 22:17 stat

-r--r--r-- 1 root root 0 Dec 21 17:15 statm

-r--r--r-- 1 root root 0 Dec 17 22:17 status

-r--r--r-- 1 root root 0 Dec 25 18:37 syscall

dr-xr-xr-x 3 root root 0 Dec 25 18:37 task

-r--r--r-- 1 root root 0 Dec 25 18:37 timers

-rw-r--r-- 1 root root 0 Dec 25 18:37 uid_map

-r--r--r-- 1 root root 0 Dec 25 18:37 wchan

查看里面status文件会得到进程相关信息(与top类似)

[root@centos7 sudoers.d]#cat /proc/1/status

Name: systemd

Umask: 0000

State: S (sleeping)

Tgid: 1

Ngid: 0

Pid: 1

PPid: 0

TracerPid: 0

Uid: 0 0 0 0

Gid: 0 0 0 0

FDSize: 128

Groups:

VmPeak: 256496 kB

VmSize: 191224 kB

VmLck: 0 kB

VmPin: 0 kB

VmHWM: 4208 kB

VmRSS: 3152 kB

RssAnon: 1524 kB

RssFile: 1628 kB

RssShmem: 0 kB

VmData: 148928 kB

VmStk: 132 kB

VmExe: 1320 kB

VmLib: 3716 kB

VmPTE: 116 kB

VmSwap: 124 kB

Threads: 1

SigQ: 1/4607

SigPnd: 0000000000000000

ShdPnd: 0000000000000000

SigBlk: 7be3c0fe28014a03

SigIgn: 0000000000001000

SigCgt: 00000001800004ec

CapInh: 0000000000000000

CapPrm: 0000001fffffffff

CapEff: 0000001fffffffff

CapBnd: 0000001fffffffff

CapAmb: 0000000000000000

Seccomp: 0

Cpus_allowed: ffffffff,ffffffff

Cpus_allowed_list: 0-63

Mems_allowed: 00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000001

Mems_allowed_list: 0

voluntary_ctxt_switches: 50397

nonvoluntary_ctxt_switches: 3733

3. 分别用for和while 实现网段网址搜寻

实现192.168.0.0/24网段搜寻:

#!/bin/bash

for ip in {1..254} ;do

{

ping -c1 -w 1 192.168.0.$ip &>/dev/null && echo "192.168.0.$ip is success" ;

}&

done

wait

执行结果

[root@centos7 ~]#bash ip_for.sh

192.168.0.1 is success

192.168.0.109 is success

192.168.0.108 is success

#!/bin/bash

declare -i ip=1

while [ $ip -le 254 ] ; do

{

ping -c1 -w 1 192.168.0.$ip &>/dev/null && echo "192.168.0.$ip is success" ;

}&

let ip++

done

wait

执行结果

[root@centos7 ~]#bash ip_while.sh

192.168.0.1 is success

192.168.0.109 is success

192.168.0.108 is success

用{ }& wait 实现并发执行提高效率

4.initrd作用

initrd 是boot loader initialized RAM disk,一般是压缩过的。它存在的主要目的是在内核启动时加载它,安装其中的驱动,挂载系统的根

解压系统boot/文件下的initramfs-3.10.0-693.el7.x86_64.img文件

重命名为.gz文件

gunzip initramfs-3.10.0-693.el7.x86_64.gz

cpio -id < initramfs-3.10.0-693.el7.x86_64

查看解压后文件

bin etc initramfs-3.10.0-693.el7.x86_64 lib64 root sbin sys tmp var

dev init lib proc run shutdown sysroot usr

从文件可以看出里面内容很类似一个linux系统文件夹,initrd是在实际根文件系统可用之前挂载到系统中的一个初始根文件系统。initrd与内核绑定在一起, 并作为内核引导过程的一部分进行加载。内核然后会将这个initrd文件作为其阶段引导过程的一部分来加载模块,这样才能在以后的引导过程中使用真正的文 件系统,并挂载实际的根文件系统。

标签:

来源: http://blog.51cto.com/6289984/2337047

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/422052.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

分布式文件系统虚拟目录及命名空间的实现方法

分布式文件系统虚拟目录及命名空间的实现方法 http://www.doc88.com/p-717876372220.html 可以读一下&#xff0c;讲得还算清楚 转载于:https://www.cnblogs.com/hengli/archive/2012/12/12/2814342.html

Linux编译dhcpd,linux中搭建dhcpd服务器

这一次咱们来共同看一看如何在linux中搭建dhcp服务器&#xff1a;首先呢dhcp服务分为客户端IP地址动态分配服务和dhcp中继服务&#xff0c;小编在这里用linux系统搭建一个为客户端动态分配IP地址的dhcp服务器&#xff0c;dhcp中继就在路由器上做了(小编用了一台华为路由器R2621…

一张图说明我们为什么要关注 HTML5

转载于:https://www.cnblogs.com/h5rocks/archive/2012/12/12/2814692.html

linux自动读取麦克风,检测用户向麦克吹气

如果几年前你告诉我人们可以通过晃动手机或向麦克吹气使手机有所动作&#xff0c;我一定会大笑不止。但现在这已经是事实了。检查晃动动作是很直接的&#xff0c;所有这些在3.0“motion event”(动作事件)中都有介绍。检测向麦克吹气困难一点。本教程将建立一个简单的单视图程序…

动态绑定 datagridview

//绑定该邮箱到datagridviewint index this.dataGridViewSendEmail.Rows.Add();DataGridViewRow row this.dataGridViewSendEmail.Rows[index];row.Cells[1].Value emailAddr;row.Cells[2].Value "正常";row.Cells[3].Value DateTime.Now.ToString("yyyy-M…

linux中端口的欺骗,Linux中的端口占用问题

本文将会阐述两种解决端口占用的方法。本文会用到的服务器端的程序如下&#xff1a;1 #include "unp.h"2 #include 34 int main(int argc, char **argv)5 {6 intlistenfd, connfd;7 socklen_t len;8 structsockaddr_in servaddr, cliaddr;9 charbuff[MAXLINE];10 tim…

oracle维护常用SQL语句(查看系统表和视图)

转:http://www.360doc.com/content/11/1230/15/7489308_176090474.shtml oracle维护常用SQL语句(查看系统表和视图) 1.查看表空间的名称及大小 select t.tablespace_name, round(sum(bytes/(1024*1024)),0) ts_size   from dba_tablespaces t, dba_data_files d   wher…

Asp.net 调用mysql存储过程参数传中文乱码!

<add name"xxx" connectionString"server10.10.xx.xx;User Idxxx;passwordxxxx;databasexxxx;Port3306;character setutf8;"/> 在web.config中进行编码设置&#xff1a;character setutf8; 调用存储过程方法&#xff1a;MySqlCommand cmd new MySql…

手机内存卡转化linux,Android 往手机内存卡上存储用户名与密码的操作

当大家 用Android 应用 操作时&#xff0c;会发现有很多应用要登陆名和密码&#xff0c;而且&#xff0c;它们都能记住密码&#xff0c;当你退出 &#xff0c;再次登陆时&#xff0c;你们帐号密码会自动添加上去。例&#xff1a;布局文件 相信都能做出来 就不一一介绍 了。下面…

Mplayer 音频解码分析

一.序 还是按部就班的来&#xff0c;这次主要分析一下Mplayer中音频解码流程&#xff0c;特别说明一下&#xff0c;这里 的音频解码包括后面会说的视频解码统统不涉及到具体的格式和解码算法&#xff0c;如果大伙对具 体文件格式和解码感兴趣可以在网上找相关资料看看~也可以留…

Linux格式化sd卡博客,linux设备驱动那点事儿之SD卡驱动理论篇

一.SD/MMC卡介绍1.1.什么是MMC卡MMC&#xff1a;MMC就是MultiMediaCard的缩写&#xff0c;即多媒体卡。它是一种非易失性存储器件&#xff0c;体积小巧(24mm*32mm*1.4mm)&#xff0c;容量大,耗电量低,传输速度快&#xff0c;广泛应用于消费类电子产品中。1.2.什么是SD卡SD&…

SQL Server 2008 数据库同步的两种方式 (发布、订阅)

通过SQL JOB的方式对数据库的同步&#xff0c;这一节作为上一节的延续介绍通过发布订阅的方式实现数据库之间的同步操作。发布订阅份为两个步骤&#xff1a;1、发布。2、订阅。首先在数据源数据库服务器上对需要同步的数据进行发布&#xff0c;然后在目标数据库服务器上对上述发…

前端学习(619):变量的小案例二

<!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8"><meta name"viewport" content"widthdevice-width, initial-scale1.0"><title>Document</title><script>//请输入姓名…

python linux alias,linux命令:alias

alias命令简介&#xff1a;此个命令用于命令别名&#xff0c;在shell中定义的别名仅在当前shell生命周期中有效&#xff1b;别名的有效范围仅为当前shellj进程&#xff1b;要想别名永久有效&#xff0c;必须把别名定义在别名配置文档中(/root/.bashrc---/root表示当前用户的家目…

UITabBarController

/*UITabBarController//实例化三个controllerMyViewController1 *vc1 [[MyViewController1 alloc]init];MyViewController2 *vc2 [[MyViewController2 alloc]init];// MyViewController3 *vc3 [[MyViewController3 alloc]init];//实例化一个导航,导航管理vc2&#xff0c;vc3…

【eoe特刊】第二十七期 OpenGL ES学习及项目解析

经过一个月征稿、编辑&#xff0c;新的一版特刊终于出炉了。 本次特刊的制作&#xff0c;改变以往的制作方式&#xff0c;完全取自网友的独自的风格。 在只有一个主题的前提下&#xff0c;完全是通过社区的热心的网友&#xff0c;根据自己的想法&#xff0c;自行设计&#x…

Linux如何禁止集成显卡,Ubuntu中禁用独显只用集显的方法

新装了ubuntu 12.04 Beta。还不错&#xff0c;就是双显卡问题。显卡&#xff1a;intel i3集成显卡和ati 5650。以前装了ati 驱动的话&#xff0c;若BIOS里不禁用集显就不能进入ubuntu&#xff0c;禁用了集显进win7又不能用集显&#xff0c;很是麻烦。用了那个git acpi_call禁有…