操作系统
文章平均质量分 62
高晓伟_Steven
wx_cangying1988的博客
展开
-
Linux网卡丢包分类整理(2)——驱动篇
每个CPU核都有一个backlog队列,与Ring Buffer同理,当接收包的速率大于内核协议栈处理的速率时,CPU的backlog队列不断增长,当达到设定的netdev_max_backlog值时,数据包将被丢弃。表示的是 CPU2 和 CPU1,0 号 CPU 的掩码是 0x1 (0001),1 号 CPU 掩码是 0x2 (0010),2 号 CPU 掩码是 0x4 (0100),3 号 CPU 掩码是 0x8 (1000) 依此类推。当 NIC 内部缓冲区写满后,就会丢弃部分数据,引起丢包。原创 2022-09-22 18:15:00 · 5846 阅读 · 1 评论 -
Linux网卡丢包分类整理(1)——网卡篇
网卡丢包怎么办?或者再具体点,使用ifconfig查看网卡,发现有dropped统计时可以从哪些方面进行调查?要想知道为什么丢包,首先要弄清楚接收数据包的流程。原创 2022-09-15 14:05:10 · 2099 阅读 · 0 评论 -
Linux网卡丢包分类整理(1)——网卡篇
网卡丢包怎么办?或者再具体点,使用ifconfig查看网卡,发现有dropped统计时可以从哪些方面进行调查?Linux系统从网卡收到数据包到最终上层应用处理之间涉及到多个模块,包括物理硬件、驱动、缓存队列、内核、再到应用程序。其中任何一块出问题都有可能表现为网卡显示丢包。如上图,接收数据包会遵循硬件(device)->内核(kernel)->用户态应用(user)这一处理流程。原创 2022-09-10 09:00:24 · 2990 阅读 · 0 评论 -
Linux系统奇事【free显示内存95%但是top却看不到谁用】
1 Recv-Q堆积会占用系统内存,这部分内存用top查不出来,需要用netstat查看。2 malloc是不可重入函数, 如果重入了可能会死锁。所以信号处理函数里面不能调用malloc。3 malloc的调用有可能是间接地或者说是隐式的。所以信号处理函数应该尽可能简单, 比如只设置一个flag, 然后让其它处理流程根据这个flag来做其它事情。...原创 2022-08-05 11:07:03 · 9317 阅读 · 0 评论 -
BTF: .tmp_vmlinux.btf: pahole version v1.9 is too old, need at least v1.13
要升级的内核版本是5.4.188,当前内核版本问4.18.0,直接将/boot/config-4.18.0-394.el8.x86_64拷贝到内核源码目录,执行makemenuconfig后直接保存,再执行make是就报了上面的错误。原创 2022-07-20 14:13:35 · 1294 阅读 · 1 评论 -
CentOS 升级内核至5.15.52
CentOS 升级内核至5.15.52详细步骤,物理机升级成功。原创 2022-07-04 17:28:47 · 1379 阅读 · 0 评论 -
在 Linux 上禁用 TCP 时间戳响应。
数据包转发时遇到“TCP Dup ACK 14#1”的问题。 这是说第14帧的数据包丢了,“#1”表示该帧丢失的次数。会出现这个问题的原因是我伪造回复的数据包时,TCP协议扩展头中的timestamps没有相应更新,导致接收端认为是重传包,直接丢弃了。这里就有了一个比较有趣的问题了,tcp通过seq和ack来判断数据包的丢失和重传,现在又会在timestamps中做重传的判断,如果这里不改,伪造的数据包时不会被接收的。.........原创 2022-06-21 15:29:09 · 3087 阅读 · 0 评论 -
Centos6用yum升级gcc(4.4.7升级到4.8.2)
文章目录安装仓库升级gcc修改系统引用安装仓库wget http://people.centos.org/tru/devtools-2/devtools-2.repomv devtools-2.repo /etc/yum.repos.d升级gccyum install -y devtoolset-2-gcc devtoolset-2-binutils devtoolset-2-gcc-c++可能是要连到国外的库的原因,这个升级会比较慢,中间还可能下载失败,多试几次就可以了。修改系统引用m原创 2021-05-20 21:39:27 · 356 阅读 · 0 评论 -
netfilter_queue 使用示例
目录简介感谢环境依赖示例测试编译配置iptables规则ping本机loopback地址启动nf-queue程序简介之前写过一篇文章《iptables queue 应用示例》,介绍使用libipq实现用户态数据包处理。最近有遇到国产麒麟系统不支持libipq的问题,好在还支持netfilter_queue,整理一个关于NFQUEUE的版本出来。感谢本文大部分内容参考_Raymond_的《netfilter_queue 总结》,作者对netfilter做了详细的介绍,原文链接:https://blog原创 2021-04-08 16:54:18 · 3350 阅读 · 0 评论 -
ping6 使用笔记
ping6 -s 1120 fe80::8261:5fff:fe03:fd3d%lo-s 1120 指定icmpv6所带内容长度,此长度不含以太头,IP头,ICMP头长度%lo 指定从哪个网卡发送request包原创 2021-04-08 10:26:49 · 2243 阅读 · 0 评论 -
iptables queue 应用示例
目录简介环境依赖头文件示例测试编译导入模块配置iptables规则ping本机loopback地址启动ipqtest程序简介Linux内核在Netfilter框架的基础上提供了IP Queue机制,从而使得基于用户态的防火墙开发成为可能。从而可以在用户态对报文内容进行分析,同时可以给出对这个报文的处理意见,也可以修改报文。libipq是基于netfilter提供的接口进行二次封装的库,目的是让大家能够更多专注于用户态的数据处理,简化用户态和内核态数据交换流程。环境依赖需要安装libnetfilte原创 2021-04-01 17:24:32 · 1603 阅读 · 0 评论 -
error: libipq.h: No such file or directory 解决方法
yum install -y libnetfilter_queue libnetfilter_queue-devel iptables iptables-devel现在就能找到libipq.h文件了原创 2021-04-01 15:12:50 · 718 阅读 · 0 评论 -
iptables/ip6tables数据包根过滤数据包笔记
Iptables下length模块可对数据包的长度进行匹配。length使用参数:-m length --length num #匹配指定大小的数据-m length ! --length num #匹配非指定大小数据-m length --length num: #匹配大于或等于-m length --length :92 #匹配小于或等于-m length --length num:num #匹配指定区间示例:iptables -I INPUT -p icmp -m length --原创 2021-04-01 15:02:25 · 1296 阅读 · 0 评论 -
Centos6 yum源设置
yum源失效了阿里云上yum源失效,上网一查才知道,CentOS 6已经停止更新支持,同时官方也把yum源删除了Vault源更换yum源为CentOS的Vault源mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo-backupwget -O /etc/yum.repos.d/CentOS-Base.repo http://file.kangle.odata.cc/repo/Centos-6.repowg原创 2021-03-17 19:14:43 · 4937 阅读 · 6 评论 -
Centos7 使用vsftp快速搭建ftp服务,免配置
目录方法一配置文件vsftp自动安装和启动脚本操作步骤方法二登录验证方法一系统为Centos7,前提条件yum要能用。配置文件vsftpd.conf# Example config file /etc/vsftpd/vsftpd.conf## The default compiled in settings are fairly paranoid. This sample file# loosens things up a bit, to make the ftp daemon more u原创 2021-02-02 19:48:06 · 212 阅读 · 0 评论 -
FreeBSD开机文件系统出错(automatic file system check failed)
虚拟机装了FreeBSD系统,前几天忽然不能正常启动了。报下面的错误:automatic file system check failed;help!error: aborting boot解决方法倒是不难:/sbin/fsck -y/sbin/mount -a/sbin/reboot有可能需要输入多次/sbin/fsck -y并且重启多次。...原创 2021-01-26 14:55:53 · 526 阅读 · 0 评论 -
ipv6一致性测试(IPv6 Specification)内核修改
目录推荐内核版本REFERENCE测试流程判断标准解决方法内核代码修改推荐内核版本linux-4.19.155下载地址:https://download.csdn.net/download/superbfly/14521687REFERENCERFC 8200 - IPv6 Specification测试流程TN:测试设备NUT:被测设备TN分别发送分片包1和分片包2到NUT,其中分片包1没有包含原始报文全部ip头。NUT设备应该丢弃两个分片报文,并回复ICMPv6 error报文给TN原创 2021-01-19 16:29:51 · 1173 阅读 · 0 评论 -
ipv6一致性测试(Path MTU Discovery for IPv6)内核修改
推荐内核版本:linux-4.19.155REFERENCE:RFC 8201 - Path MTU Discovery for IPv6测试流程:TN2:测试设备TR1:路由(我的理解,可能有偏差)NUT:被测设备TN2发送1400字节长度的Echo Request到NUTTN2判断能否收到NUT回复的Echo Reply消息TR1发送Packet Too Big消息到NUT(MUT为56)TN2再次发送1400字节长度的Echo Request到NUTTN2判读能否收到NUT回复原创 2021-01-18 17:21:39 · 1257 阅读 · 0 评论 -
ipv6ready 一致性测试参数配置
配置/etc/sysctl.conf文件# Kernel sysctl configuration file for Red Hat Linux## For binary values, 0 is disabled, 1 is enabled. See sysctl(8) and# sysctl.conf(5) for more details.## Use '/sbin/sysctl -a' to list all possible parameters.# Controls IP pa原创 2021-01-11 18:10:55 · 721 阅读 · 0 评论 -
GCC编译过程详细记录
目录升级GCC下载GCC源码安装解压安装必要的依赖编译升级GCC先把gcc升级到当前yum源中的最新版本yum update gcc*yum install glibc-headersyum install gcc-c++glibc-headers和gcc-c++再编译源码中回用的,如果不安装会报“error: C++ preprocessor “/lib/cpp” fails sanity check”。下载GCC源码我编译的是 gcc-10.2.0.tar.gz,点击这里可以下载安装原创 2020-12-09 14:04:36 · 620 阅读 · 0 评论 -
linux 查看硬盘信息
dfdf命令是用来查看文件系统中硬盘的使用状况的,也可以用来列出系统中挂载的硬盘,使用-h选项可以以人类可读的格式输出硬盘使用状况:~$ df -h文件系统 容量 已用 可用 已用% 挂载点/dev/sda2 55G 3.7G 49G 8% /udev 2.0G 4.0K 2.0G 1% /devtmpfs 394M 776K 394M 1% /runnone转载 2020-07-07 17:40:03 · 3029 阅读 · 0 评论 -
Redhat7.2 yum源配置
平时都用Centos,本以为用Redhat可算是轻车熟路了,没想到还是要踩各种坑,这里把yum源的配置方法整理一下。第一步:先卸载之前的yum,移除与原yum所有有关的东西rpm -qa|grep yum|xargs rpm -e --nodeps第二步:下载yum包下载地址:http://mirrors.163.com/centos/7/os/x86_64/Packages/...原创 2020-03-26 21:44:59 · 1531 阅读 · 0 评论 -
centos 清除登录记录
cp ./.bash_history /usr/local/hvstecho > /var/log/wtmpecho > /var/log/btmphistory -chistory -r /usr/local/hvst清除登陆系统成功的记录[root@localhost root]#echo > /var/log/wtmp//此文件默认打开时乱码,可查到...原创 2020-03-22 12:52:05 · 1088 阅读 · 0 评论 -
virsh console无法链接虚拟机
现象是连接时卡在这里就不动了virsh console centos7.0Connected to domain centos7.0Escape character is ^]解决方法(在虚拟机中做如下操作)1、修改 /etc/securetty 到最后添加 ttyS0echo ttyS0 >> /etc/securetty2、修改/etc/ini...原创 2019-12-25 09:56:56 · 3747 阅读 · 1 评论 -
ubuntu18.04安装新版deepin-wine环境
感谢凌风同学参考链接:https://forum.ubuntu.org.cn/viewtopic.php?t=490131#p3217021运行下面这个脚本就可以安转最新的deepin-wine了#!/bin/bashecho "deb [trusted=yes] http://mirrors.aliyun.com/deepin stable main contrib non-...原创 2019-12-12 11:18:22 · 4987 阅读 · 0 评论 -
Hanic网卡安装冲突---小记
在Centos 6.7系统上安装Hanic网卡,装驱动的时候总显示: file …… from install of …… conflicts with file from package …… 这种问题是因为Hanic要更改libpcap文件,但又与对应的libpcap-devel的版本冲突造成的。 废了好大劲也没有解决冲突问题,没办法,二选一,只原创 2017-03-07 14:32:30 · 749 阅读 · 0 评论 -
关于编译时报implicit-function-declaration(隐式声明)错误的解决方法
隐式声明这块的处理一般来说是必须的,但有时候处理这方面的问题真的很让人头疼。有个比较省力的方法,在编译时将“-Werror-implicit-function-declaration”这句话删掉。我是在整个工程里面搜索这句话,发现在configure里面,然后就是将configure里面的这名删掉,就可以编译了。原创 2016-10-20 13:49:58 · 59020 阅读 · 4 评论 -
Win7+Ubuntu双系统时间不一致
解决方法: 第一种在Windows下进行如下修改: 在 注册表项:HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\TimeZoneInformation\ 下中添加一项数据类型为REG_DWORD,名称为RealTimeIsUniversal,值设为1 的键值。 或者 桌面新建—>文本文档—复制下面的内容到文本文档–>修改文本文档.t转载 2017-02-10 10:36:51 · 2612 阅读 · 0 评论 -
Centos获取内核源码
一、获取Centos版本以下二种方法适用于RedHat,CentOS# cat /etc/redhat-releaseCentOS release 5.4 (Final)登录到linux执行rpm -q redhat-release #rpm -q redhat-release或CentOS# rpm -q centos-releasecentos-release-7-0.1406.el7.原创 2016-11-16 10:31:16 · 9801 阅读 · 0 评论 -
CentOS 7 安装 daemontools
Daemontools是管理Unix服务的工具,它提供一组工具来管理一系列用户进程,当进程由于某些原因down掉之后,daemontools会自动重启进程注意被管理的进程不能以daemon形式运行,例如nginx.conf 必须关闭daemon, daemon off; 不要在/service/建任何目录, /service/只存放一些symbol link 只需要完成安装 / 配置两步即可原创 2016-10-20 22:42:41 · 7405 阅读 · 0 评论 -
linux下怎么查看ssh的用户登录日志
linux下登录日志在下面的目录里: cd /var/log 查看ssh用户的登录日志: less secure linux日志管理: 1. 日志简介 日志对于安全来说,非常重要,他记录了系统每天发生的各种各样的事情,你可以通过他来检查错误发生的原因,或者受到攻击时攻击者留下的痕迹。日志主要的功能有:审计和监测。他还可以实时的监测系统状态,监测和追踪侵入者等等。转载 2015-10-14 16:46:36 · 10576 阅读 · 0 评论 -
Redhat关闭SELinux和防火墙的办法
Redhat使用了SELinux来增强安全,关闭的办法为:1. 永久有效修改 /etc/selinux/config 文件中的 SELINUX="" 为 disabled ,然后重启。2. 即时生效setenforce 0关闭防火墙的方法为:1. 永久性生效开启:chkconfig iptables on 关闭:chkco转载 2015-10-14 14:47:19 · 11244 阅读 · 0 评论 -
no symbol version for module_layout 解决方法
在编netmap的驱动时遇到“insmod: ERROR: could not insert module ./netmap.ko: Invalid module format”错误。用dmesg查到如下信息“no symbol version for module_layout”,详见:http://blog.csdn.net/superbfly/article/details/50978196用原创 2017-03-21 11:30:06 · 11441 阅读 · 0 评论 -
linux 查看和修改网卡通道数量
查看通道数命令:ethtool -l $DEV例子:$ ethtool -l ens2f1Channel parameters for ens2f1:Pre-set maximums:RX: 0TX: 0Other: 1Combined: 64 //最大通道数Current ha...原创 2019-06-20 20:20:29 · 6365 阅读 · 0 评论 -
Supervisor的作用与配置
原文链接:https://www.jianshu.com/p/0226b7c59ae2supervisorsupervisor管理进程,是通过fork/exec的方式将这些被管理的进程当作supervisor的子进程来启动,所以我们只需要将要管理进程的可执行文件的路径添加到supervisor的配置文件中就好了。此时被管理进程被视为supervisor的子进程,若该子进程异常中断,则父进程可以准确...转载 2018-06-27 11:04:48 · 548 阅读 · 0 评论 -
Ubuntu下boot分区剩余空间不足解决
遇到ubuntu系统报如下警告 这是系统更新内核导致的boot空间不足,可以尝试删除旧的内核。1.查看已安装的linux-image各版本 dpkg –get-selections | grep linux-image2.查看当前系统内核版本 uname -a3.卸载旧的版本(uname -a 查到的是但前系统的版本) sudo apt-get purge linux-image-原创 2017-05-19 14:35:20 · 7108 阅读 · 1 评论 -
解决Enter passphrase for key
之前写过一片文章,记下了如何通过ssh免密登录:《ssh免密码+别名登录》今天在服务器上使用同样的方法,发现有两点问题:1.提示“ Permissions 0644 for ‘/root/.ssh/id_rsa.pub’ are too open”解决方法:使用chmod 0600 /root/.ssh/id_rsa.pub更改将公钥权限改成“600”2.提示“Enter passphrase fo原创 2017-07-18 11:51:12 · 130957 阅读 · 12 评论 -
ubuntu16.04下chrome安装flash插件
安装或者升级chrome之后导致chrome无法播放flash 为避免后续升级带来的麻烦,将操作步骤记下来。 参考链接:http://jingyan.baidu.com/article/a3761b2bcc457a1576f9aaed.html1.在用户目录下创建文件夹23.0.0.185 $sudo mkdir -p ~/.config/google-chrome/PepperFla原创 2017-06-12 16:45:15 · 1903 阅读 · 0 评论 -
双硬盘+双系统引导出问题的另类解决方法
背景描述简单说一下我的环境,机器是华硕的vivobook 4000,1TB的HDD,系统是win10。我想把机器原有的光驱位换成SSD并安装ubuntu 16.04系统。 具体的拆光驱的步骤就不纤细描述了,可以参考: http://itbbs.pconline.com.cn/notebook/52488951.html 这里面写的很详细,还有配图,根据这个拆光驱就可以了,只是有一点,ssd的光原创 2017-03-17 09:34:29 · 13874 阅读 · 3 评论 -
PC机也能做服务器
现在的学校里购买的资源越来越多,需要的服务器也越来越多。服务器不够用了,怎么办?如果去买,太贵了,很多老师会考虑能不能用普通PC机来做服务器?由于PC机散热能力有限,不能保证24小时开机,总得让它每天定时休息一下,如果每天早晨打开计算机,运行服务程序,晚上再关掉计算机,真是太麻烦了。能否每天让PC机定时自动加电开机,然后自动运行某些服务程序,晚上再定时自动关机,这样,既能保证PC机的寿命,又能起到转载 2013-10-14 16:52:18 · 4720 阅读 · 0 评论