lsof指令的使用 - 每周指令
lsof(list open files)是一个列出当前系统打开文件的工具。在Linux环境下,任何事物都以文件的形式存在,通过文件不仅仅可以访问常规数据,还可以访问网络连接和硬件。所以如传输控制协议 (TCP) 和用户数据报协议 (UDP) 套接字等,系统在后台都为该应用程序分配了一个文件描述符,无论这个文件的本质如何,该文件描述符为应用程序与基础操作系统之间的交互提供了通用接口。因为应用程序打开文件的描述符列表提供了大量关于这个应用程序本身的信息,因此通过lsof工具能够查看这个列表对系统监测以及排错将是很有帮助的。 一、参数解析使用的版本为4.8.2 -a:列出打开文件存在的进程;-c<进程名>:列出指定进程所打开的文件;-g:列出GID号进程详情;-d<文件号>:列出占用该文件号的进程;-n<目录>:列出使用NFS的文件;-i<条件>:列出符合条件的进程(4、6、协议、:端口、 @ip...
Linux下查看文件的创建时间
一、简介Linux的文件能否找到文件的创建时间取决于文件系统类型,在ext4之前的早期文件系统中(ext、ext2、ext3),文件的元数据不会记录文件的创建时间,它只会记录访问时间、修改时间、更改时间(状态更改时间)。典型的文件的基础信息如下所示: [root@bugwz ~]# stat test.file File: ‘test.file’ Size: 2 Blocks: 8 IO Block: 4096 regular fileDevice: 807h/2055d Inode: 5255117 Links: 1Access: (0755/-rwxr-xr-x) Uid: ( 0/ root) Gid: ( 0/ root)Access: 2019-12-12 19:11:33.175841399 +0800Modify: 2019-12-12 19:11:37.564970487 +0800Change: 2019-12-12 19:11:43.079132663 +0800 Birth:...
Linux下Makefile的生成之路
编译项目的过程中经常会需要执行 make 命令来操作 Makefile 编译命令,但是在有一些项目中是不存在 Makefile 文件的,这时候就需要手动先生成 Makefile 文件,然后在执行编译指令。 一、流程介绍 autoscan:通过扫描源代码来搜寻普通的可移植性问题,比如检查编译器,库,头文件等,生成文件configure.scan,它是configure.ac的一个雏形; aclocal:根据已经安装的宏,用户定义宏和acinclude.m4文件中的宏将configure.ac文件所需要的宏集中定义到文件 aclocal.m4中,aclocal是一个perl 脚本程序,完整定义为:aclocal - create aclocal.m4 by scanning...
Yum源的优先级配置之yum-priorities
一、简介Linux 发行版比较多,同时还有很多个人或组织维护了某些特定用途的安装/升级源。Yum Priorities 插件可以用来强制保护源。它通过给各个源设定不同的优先级,使得系统管理员可以将某些源设定为最高优先级,从而保证系统的稳定性。 二、yum-priorities2.1、安装yum install -y yum-priorities 2.2、配置验证cat /etc/yum/pluginconf.d/product-id.conf 需要确认的是,如果enabled的配置为1,代表已经启用了yum源的配置优先级; [main]enabled=1 2.3、配置优先级调整[Example 1]name=Example_1baseurl=http://mirror.centos.org/centos/$releasever/example_1/$basearch/priority=10gpgcheck=0enabled=1[Example...
网卡多队列技术学习
一、简介网卡多队列是一种技术,最初是用来解决 网络IO 的 QoS (Quality Of Service)问题。网卡多队列需要硬件和驱动同时支持。网卡多队列驱动将各个队列通过将中断绑定到不同的核上,从而解决网络I/O带宽升高时单核CPU的处理瓶颈,提升网络PPS和带宽性能。经测试,在相同的网络PPS和网络带宽的条件下,与1个队列相比,2个队列最多可提升性能达50%到100%,4个队列的性能提升更大。 二、启用网卡多队列2.1、网卡是否支持多队列2.1.1、ethtool方式验证安装指令为:yum -y install ethtool net-tools [root@bugwz /]# ethtool -l eth0Channel parameters for eth0:Pre-set maximums:RX: 0TX: 0Other: 1Combined: 8 # 最大支持设置的网卡队列数Current hardware settings:RX: 0TX: 0Other: 1Combined: 8 #...
转 - 高效的多维空间点索引算法 GeoHash 和 GoogleS2
引子每天我们晚上加班回家,可能都会用到滴滴或者共享单车。打开 app 会看到如下的界面: app 界面上会显示出自己附近一个范围内可用的出租车或者共享单车。假设地图上会显示以自己为圆心,5公里为半径,这个范围内的车。如何实现呢?最直观的想法就是去数据库里面查表,计算并查询车距离用户小于等于5公里的,筛选出来,把数据返回给客户端。 这种做法比较笨,一般也不会这么做。为什么呢?因为这种做法需要对整个表里面的每一项都计算一次相对距离。太耗时了。既然数据量太大,我们就需要分而治之。那么就会想到把地图分块。这样即使每一块里面的每条数据都计算一次相对距离,也比之前全表都计算一次要快很多。 我们也都知道,现在用的比较多的数据库 MySQL、PostgreSQL 都原生支持 B+...
RAID技术的对比解析
D. A. Patterson 教授等人于1988年首次在论文 A Case of Redundant Array of Inexpensive Disks 中提出了RAID概念,即廉价冗余磁盘阵列( Redundant Array of Inexpensive Disks )。 RAID 的基本思想是将多个容量较小、相对廉价的磁盘进行有机组合,从而以较低的成本获得与昂贵大容量磁盘相当的容量、性能和可靠性。随着磁盘成本和价格的不断降低, RAID概念中的廉价已经毫无意义。因此, RAID 咨询委员会( RAID Advisory Board, RAB )决定用独立替代廉价 ,于时 RAID 变成了独立磁盘冗余阵列( Redundant Array of Independent Disks )。这里介绍了几种 RAID 的部署结构:RAID 0,RAID 1,RAID 2,RAID 3,RAID 4,RAID 5,RAID 6,RAID 7,RAID 01,RAID 10,RAID 30/53,RAID 50,RAID 60,RAID 100。 D. A....
BaseX编码规则解析
Base16、Base32、Base64 等其他的 BaseX 编码并不是一种加密方式,它们只是一种编码手段,我们可以借助一些在线的编解码工具还原成明文,因此这类编码方式不适合用于数据加密,但是我们可以使用这种编码很方便的进行数据传输与存储,因此这类编码的使用十分广泛。 一、Base161.1、编码规则:Base16编码使用16个ASCII可打印字符(数字0-9和字母A-F)对任意字节数据进行编码。 获取输入字符串每个字节的二进制值(输入的非ASCII字符,使用UTF-8字符集); 将获得的二进制值串联进来; 按照4比特为一组进行切分(8比特数据按照4比特切分刚好是两组,因此Base16无填充符号=); 将每组二进制数分别转换成十进制; 按照Base16对应的编码表将对应的编码串接起来就是Base16编码; 1.2、编码特征Base16编码后的数据量是原数据的两倍,1000比特数据需要250个字符(即 250*8=2000...
Ngxin的限流方式
一、简介Nginx的限流的实现,可以保证高并发场景下的服务的可用性,控制网络以及CPU/内存负载,极端场景下还可以减小暴力破解对系统的危害性。Nginx本身自带了几个限流模块 : 对客户端的限流模块: ngx_http_limit_conn_module:按照连接数限流,限制单个IP的并发连接数; ngx_http_limit_req_module:按照请求速率限流,使用漏桶的方式限制请求的处理速率; 对服务端的限流模块: ngx_http_upstream_module:用于定义可以由proxy_pass, fastcgi_pass, uwsgi_pass, scgi_pass, memcached_pass和 grpc_pass指令引用的服务器组; 二、限流模块2.1、ngx_http_limit_conn_module用于设置单IP最大允许的连接数,当超过该连接数,服务器将返回错误信息(默认错误码为503)。 http { limit_conn_zone $binary_remote_addr zone=one:10m; ...
rsync指令的使用与算法解析 - 每周指令
rsync命令是一个远程数据同步工具,可通过LAN/WAN快速同步多台主机间的文件。rsync使用所谓的rsync算法来使本地和远程两个主机之间的文件达到同步,这个算法只传送两个文件的不同部分,而不是每次都整份传送,因此速度相当快。 rsync是一个功能非常强大的工具,其命令也有很多功能特色选项,我们下面就对它的选项一一进行分析说明。 一、参数解析-v, --verbose 详细模式输出。-q, --quiet 精简输出模式。-c, --checksum 打开校验开关,强制对文件传输进行校验。-a, --archive 归档模式,表示以递归方式传输文件,并保持所有文件属性,等于-rlptgoD。-r, --recursive 对子目录以递归模式处理。-R, --relative 使用相对路径信息。-b, --backup 创建备份,也就是对于目的已经存在有同样的文件名时,将老的文件重新命名为~filename。可以使用--suffix选项来指定不同的备份文件前缀。--backup-dir 将备份文件(如~filename)存放在在目录下。-suffix=SUFFIX...