故障说明:

会员访问网站慢。

故障检查方法:

系统负核 10 以下,网络线路通畅,资料库无死锁进程;

系统日志出现大量:kernel: printk: xxxx messages suppressed.资讯。

dmesg 指令后发现大量以下资讯:

TCP: drop open request from 202.153.162.100/62751

printk: 78 messages suppressed.

分析如下:

问题可能出在TCP/IP连结上,根据日志资讯查找资料介绍如下:

IP_conntrack表示连接跟踪数据库(conntrack database),代表NAT机器跟踪连接的数目,连接跟踪表能容纳多少记录是被一个变量控制的,它可由内核中的ip-sysctl函数设置。每一个跟踪连接表会占用350字节的内核存储空间,时间一长就会把默认的空间填满。

解决方案:

(1) 加大 ip_conntrack_max 值:

查出原本的 ip_conntrack_max 值,指令: cat /proc/sys/net/ipv4/ip_conntrack_max

写入理想的数值 (每一个 ip_conntrack buffer 会占用 292 Bytes)

指令: echo "数值" > /proc/sys/net/ipv4/ip_conntrack_max

例如: echo "163840" >/proc/sys/net/ipv4/ip_conntrack_max

这个效果是暂时的, 如果要每次开机都使用新的数值, 需将上述指令写入 /etc/rc.d/rc.local

或是在 /etc/sysctl.conf 加入: net.ipv4.ip_conntrack_max = 数值

或使用指令: sysctl -w net.ipv4.ip_conntrack_max=数值

(2): 降低 ip_conntrack timeout 时间

重设:ip_conntrack_tcp_timeout_established (原值: 432000, 单位: 秒)

指令:echo "数值" > /proc/sys/net/ipv4/netfilter/ip_conntrack_tcp_timeout_established

例如:echo "180" > /proc/sys/net/ipv4/netfilter/ip_conntrack_tcp_timeout_established

开机自动设置的作法同方法(1).

(3):开启 tcp_syncookies

重设:tcp_syncookies (默认值 0)

例如:echo '1'> /proc/sys/net/ipv4/tcp_syncookies

开机自动设置的作法同方法(1).

经过以上设置后,系统日志出现一条:kernel: possible SYN flooding on port 80. Sending cookies.后不再出现:kernel: printk: xxx messages suppressed. 的提示。访问网站明显感觉速度提升。

附其他相关命令:

查看目前 ip_conntrack buffer 使用状况

指令: grep conn /proc/slabinfo

结果实例: ip_conntrack 3024 4090 384 409 409 1 (各值说明如下)

ip_conntrack         the cache name

3024         the number of currently active objects

4090         the total number of available objects

384         the size of each object in bytes

409         the number of pages with at least one active object

409         the total number of allocated pages

1         the number of pages per slab are given

man slabinfo 可查询详细说明.

查出目前 ip_conntrack 记录最多的前五名 IP

指令: cat /proc/net/ip_conntrack | cut -d ' ' -f 10 | cut -d '=' -f 2 | sort | uniq -c | sort -nr | head -n 5

结果实例:

2816         192.168.1.100

14         163.30.85.129

6         220.132.142.175

6         127.0.0.1

4         218.187.5.223

linux内核一直输出系统日志,系统日志出现大量:kernel: printk: xxxx messages suppressed...相关推荐

  1. linux内核跳转到文件系统,Uboot到Kernel到文件系统(Cortex_A9)移植详细文档

    处理器:Exynos4412  Cortex_A9 四核 一: 4412 uboot 目录: uboot基本配置编译 make xxx_config 编译结果如上图. Uboot启动第一阶段分析: 1 ...

  2. Linux内核如何输出中文字符

    你在Windows/MacOS的登录Linux的SSH终端上很容易输入中文并且获得中文输出,比如下面这样: 但是却几乎不可能将中文显示在Linux自身的 虚拟终端 上: [root@localhost ...

  3. linux内核态加速文件读取,学习在kernel态下使用NEON对算法进行加速的方法

    本文跟着小编一起来学习在linux kernel态下如何使用NEON对算法进行加速的技巧,内容通过图文实例给大家做了详细分析,一起来看下. ARM处理器从cortex系列开始集成NEON处理单元,该单 ...

  4. Linux内核编译输出到指定目录

    1. 创建编译路径 mkdir output OUTPUT_PATH=${PWD}/output 2. 编译配置 手动copy来替换make xxx_defconfig: cp -v arch/arm ...

  5. linux驱动内核,Linux内核设备驱动之Linux内核基础笔记整理

    1. Linux内核驱动模块机制 静态加载, 把驱动模块编进内核, 在内核启动时加载 动态加载, 把驱动模块编为ko, 在内核启动后,需要用时加载 2. 编写内核驱动 #include #includ ...

  6. 《Linux内核设计与实现》读书笔记(十八)- 内核调试

    内核调试的难点在于它不能像用户态程序调试那样打断点,随时暂停查看各个变量的状态. 也不能像用户态程序那样崩溃后迅速的重启,恢复初始状态. 用户态程序和内核交互,用户态程序的各种状态,错误等可以由内核来 ...

  7. 初探内核之《Linux内核设计与实现》笔记下

    定时器和时间管理 系统中有很多与时间相关的程序(比如定期执行的任务,某一时间执行的任务,推迟一段时间执行的任务),因此,时间的管理对于linux来说非常重要. 主要内容: 系统时间 定时器 定时器相关 ...

  8. 【内核】linux内核启动流程详细分析【转】

    转自:http://www.cnblogs.com/lcw/p/3337937.html Linux内核启动流程 arch/arm/kernel/head-armv.S 该文件是内核最先执行的一个文件 ...

  9. 【内核】linux内核启动流程详细分析

    Linux内核启动流程 arch/arm/kernel/head-armv.S 该文件是内核最先执行的一个文件,包括内核入口ENTRY(stext)到start_kernel间的初始化代码, 主要作用 ...

  10. Linux内核常见FAQ

    推荐一些好的Linux内核参考书? a.<Linux Device Drivers, Second Edition>,有中文译本 b.<Understanding the Linux ...

最新文章

  1. Windows图标:有一些你未必知道的东西
  2. HDU - 3183 A Magic Lamp 线段树
  3. 大学计算机专业选哪个,这么多大学都有计算机专业 究竟选哪个好呢?
  4. percona mysql安装_mysql 安装 (percona)
  5. python如何小写p转换p_Python进阶---python 中字符串大小写转换
  6. Linux系统抓包命令tcpdump使用实例
  7. 零基础学Python(第十五章 日期时间datetime、time、Calendar)
  8. test1 3-15 模拟赛1
  9. 【数据结构与算法】顺序栈的Java实现
  10. C++算法学习(力扣:1091. 二进制矩阵中的最短路径)
  11. 阶段3 1.Mybatis_12.Mybatis注解开发_4 mybatis注解开发CRUD的其他操作
  12. 什么是 POD 数据类型
  13. 在线解析下载微软官方商店离线安装包
  14. CentOS7.6新增或修改SSH端口号的步骤
  15. Exchange2010 server的部署及配置(一)
  16. Python控制台打印彩色字符图
  17. Axure学习笔记整理5-灯箱效果
  18. GitHub在Markdown上乱哄哄 - 将666更改为DCLXVI
  19. 学习OpenCV:hu矩
  20. 3d生活馆迪万3d打印机产品

热门文章

  1. Android天天飞车游戏辅助系统
  2. windows下如何安装tomcat并设置开机自启
  3. 软件开发入门【3分钟课程】
  4. Qt编写小清新风格界面
  5. python 二项分布_如何理解python中的二项分布?
  6. CSP 202112-3 登机牌条码 (详细图解)
  7. 企业微信PC版多开软件,测试win10有效
  8. 服务器加油站能微信,加油可以微信吗?可以~支付宝呢?可以~
  9. 深夜加油站遇到苏格拉底
  10. Python 报错Process finished with exit code -1073740791 (0xC0000409)解决方法