shell编程实战之监控网卡流量

最近客户的网站出现卡慢现象,通过检查,出问题是原因是因为带宽吃紧,所以让客户将服务器带宽从原本的2M增加到4M的带宽,网站速度一下就提升了。那么如何监控网卡流量情况,linux有许多命令可以查看。比如iftop,sar等等。 这里,我想写一个监控网卡流量情况的脚本。统计每一分钟的网卡流量情况,输入到指定文件中。可以使用sar -n DEV 1 59查看一分钟内网卡平均流量。 此脚本的核心是获取1分…

shell编程实战之rm命令太危险,使用自定义命令del替换

不知道大家对在服务器上使用rm命令有什么感觉,反正每次我使用的时候,都会好好确认,即使这样,按下回车的时候,心里还是会有点慌慌的感觉。因为和windows系统不一样,使用win系统默认删除文件,该文件就会被放入到回收站中,想要恢复直接从回收站找到文件并恢复即可。但是在linux中,用rm删除文件,那就是真的删除掉了,是没有回收站这个概念的。 真因为rm命令的危险性,所以想要不自己写一个shell脚…

记一次linux服务器上cpu跑满事件

事情经过 11号早上,打开电脑发现自己的博客网站打开不了,准备远程登录服务器查看问题,发现服务器远程不上。没办法,登录阿里云后台,重启服务器。重启完成后,网站能正常打开,所以当时就不以为然,以为阿里云那边是不是出了什么毛病。 到了下午的时候,发现网站又打不开了,而且又远程连接不了服务器。进入阿里云控制台,查看监控发现cpu跑满了。只能再重启服务器,等重启完成后再远程连接上去,这次需要好好排查问题。…

linux服务器上一次数据迁移事例

公司服务器有一个系统盘40G,目前已经用掉了30%左右,老板新购了一块磁盘200G,让我把之前数据迁移到新的磁盘上。迁移工作非常顺利。这里和大家分享下我是怎么做的。 格式化 lsblk查看新的磁盘文件名 首先我们需要知道磁盘文件用,用lsblk来查看,知道了新的磁盘文件名为/dev/vdb 分区 我将200G的磁盘分了两个区,大小分别为50G和100G,剩下50G留着以后看看怎么用。 # 分区的命…

Redis慢查询

和Mysql一样,Redis也有慢查询记录。当命令的执行时间超过设定的值时,该命令就会记录到慢查询列表中。通过慢查询,我们可以改进我们的程序。防止redis阻塞。 配置 慢查询的配置参数有两个: slowlog-log-slower-than slowlog-max-len slowlog-log-slower-than用来设定一个阈值,单位为微妙。当值设置为小于0时,任何命令都不会记录;当值等于…

php会话控制

HTTP 协议是 WEB 服务器与浏览器相互通信的协议,它是一种无状态协议,即每个 HTTP 请求之间是相互独立的。因此,HTTP 协议没有一个内建的机制来维护两个事务之间的状态。比如,当一个用户在请求一个页面后再去请求另外一个页面时,HTTP 将无法告诉我们这两个请求是否来自同一个用户

页面置换算法

可能是最全的页面置换算法总结了。转自:https://www.ofweek.com/ai/2021-04/ART-201721-11000-30495592.html 最佳置换法(OPT) 最佳置换算法(OPT,Optimal) :每次选择淘汰的页面将是以后永不使用,或者在最长时间内不再被访问的页面,这样可以保证最低的缺页率。 最佳置换算法可以保证最低的缺页率,但实际上,只有在进程执行的过程中才能…

soft1使用说明

分类 目前后台所有分类均不能删除 可以修改,但不能修改自定义的属性“是否为软件 文章 如果是软件,则需要填写完整自定义面板,如果是资讯,则不需要填写。 另外自动排版功能已集成在主题中。 外观>菜单 菜单用来设置首页的导航栏已经友情链接。 设置 固定链接 分类前缀与标签前缀不要修改,如果真要修改,修改完了,需要修改主题 网站信息设置 该模块是用来设置首页的网站介绍,以及底部信息 其他 有一些插…

数据结构之数组与链表

聊数组和链表前,我们首先需要知道内存和如何存放数据的。内存就像大超市寄存处,寄存处有非常多的柜子。每个柜子都有标号(内存地址),柜子用来存放行李(存放数据)。取柜子里的行李时,需要知道柜子标号。 数组 有时候我们的行李有很多,一个柜子存放不下,那么就需要使用多个柜子来存。熟悉Java的都知道,Java里的数组能够存放多个变量值。Java数组类似于一些连续在一起的柜子。 但是数组有一个非常大的缺陷,…

使用C、Java实现二分查找

二分法非常容易理解,它的核心思想是折半查找,直到查到目标元素(也可能找不到)。使用二分法有一个前提条件:元素必须是已经排好序的。 二分法和一般查找的算法时间复杂度对比: 一般查找 O(n) 二分法 O(logn) 二分查找比一般查找快的多,当元素个数n为1024时,一般查找需要执行1024次,而二分法只需要执行10次。当元素个数越多,后者就比前者更快的多。 实现二分法也比较容易,关键有两点: 折半…

使用C编写类sort命令功能的程序

sort命令是linux系统中常用的命令,它的功能是给标准输入中的行进行排序,默认是通过字典序进行排序的。今天,展示如果通过C语言编写一个类似功能的程序。 # sort <<eof > Hello Paul. > How are you going? > Very well. What about you? > I'm good. > eof Hello Paul. How …

ArrayList源码分析

以前,我刚开始学习JavaSe时,还不知道有ArrayList类。刚开始存多个元素时,都是使用数组。但感觉使用数组,不是那么方便。因为Java和php不一样(但和C一样),数组从定义起,其长度就被确定了,不能再被修改了。如果给数组长度定的太大,那么多余的空间浪费感觉挺可惜,但如果给小了,程序就会出问题。 等学习到了集合时,知道了有ArrayList,使用它时,我们不用费心思考虑到底给多个的容量,每…

使用getchar、putchar函数完成cat以及wc命令功能

C语言中的getchar以及putchar函数配合使用,可以完成许多非常有用的功能。比如今天要说的类似于linux命令cat、wc功能。 getchar函数用于从标准输入中读取一个字符,每读取一个字符后,指针向下移动。如果遇到了字符为EOF则表示标准输入流里字符已全部读取完毕。 putchar函数用于向标准输出中输入一个字符 cat 实现该功能比较简单,每次使用getchar读取一个字符后,就使用…

解压包安装Mysql5.7(windows系统)

之前自己只在linux系统上安装过MySQL,对于Windows系统,我之前都是使用集成工具——Wampserver。安装这个软件后,Apache、Mysql以及PHP就全部安装成功了。这次,只想单独安装Mysql,所以去官网上下载了5.7.32的安装包。 自己在安装Mysql时,出现了许多问题,vc库、MysqlServer启动不起来等等。到最后,放弃了使用安装包安装的方式,转而使用压缩包的方式…

详解Java中的相等测试equals与继承

Object中有一个equals方法,用来测试两个对象是否相等。该方法判断两个对象相等的条件是,两个对象的引用是否相等。如果两个对象的引用相等的话,那么毋庸置疑这两个对象一定相等。 但是,我们经常需要对对象的字段进行比较,如果两个对象具有相同的字段值,就认为这两个对象相等。比如,有两个员工姓名、年龄以及薪水相等的话,就认为他们相等。 下面我们来重写父类的equals方法,不再比较引用,而是比较几个…