说起来日常的故障,其实,首先应该相到的就是:“备份”、“备份”、“备份”。毕竟再怎么牢固的系统或硬件都会有故障的时候,所以,备份放第一位。
之前写过一篇《CPU是如何访问内存的?》的文章,简单介绍了cpu访问内存的过程。有了之前的感性认识,这篇站在arm的角度再深度讲解一下,看完你会发现不理解arm原理就直接撸内核代码简直是耍流氓。
0x01 vDSO 是什么 孙子兵法最核心的价值观就是:知己知彼,百战不殆。 为了搞清楚vDSO在内核提权中的应用,首先就要搞清楚vDSO到底是什么,我们来看下vDSO的定义: The "vDSO" (virtual dynamic shared object) is a small shared library that the kernel automatically maps into the address space of all user-space applications. Applica
DockerHub 上有很多的镜像,可以满足大部分的需求。这种情况我们就可以直接通过docker pull ** 从DockerHub上获取对应的镜像。 当然还有一些情况,我们需要的镜像DockerHub上不存在,例如:Linux信创的环境,在DockerHub上就很难知道对应的镜像,如果需要这种镜像的话就需要通过运行的系统来制作镜像了。
★ 本文旨在介绍vDSO在内核提权中绕过SMEP/PXN的应用 ★ 0x01 vDSO 是什么 孙子兵法最核心的价值观就是:知己知彼,百战不殆。 为了搞清楚vDSO在内核提权中的应用,首先就要搞清楚vDSO到底是什么,我们来看下vDSO的定义: The "vDSO" (virtual dynamic shared object) is a small shared library that the kernel automatically maps into the address space of al
哈喽各位铁汁们常用的八大排序我们都一起实现了,但是前面我们的实现过程大部分都是比较排序,不知道大家听说过计数排序这种非比较排序?它的性能再某些场景甚至能达到惊人的 O(N)
在 Linux 系统选有相当多的压缩命令可以使用,这些压缩指令可以让我们更方便的从网上下载大型文件,本章第一节内容我们就来谈谈这个 Linux 系统下常用的几种压缩格式吧.
作为linux运维,多多少少会碰见这样那样的问题或故障,从中总结经验,查找问题,汇总并分析故障的原因,这是一个Linux运维工程师良好的习惯。每一次技术的突破,都经历着苦闷,伴随着快乐,可我们还是执着的继续努力,从中也积累了更多的经验,这就是实践给予我们的丰厚回报。 下面汇总了我做项目过程可能出现的故障及解决方法,看看是否与你有共鸣,并对你有帮助? ---- 第一:常见问题解决集锦 1.shell脚本不执行 问题:某天研发某同事找我说帮他看看他写的shell脚本,死活不执行,报错。我看了下,
文件存储在硬盘上,硬盘的最小存储单位叫做"扇区"(sector)。每个"扇区"的大小为512字节(byte), ,操作系统读取硬盘的时候,不会一个个扇区的读取,这样效率太慢。他是一次性读取多个扇区,即一次性读取一个"Block块"。一个Block有8个连续的扇区(sector)组成。 数据都存在Block块里面,但是我们怎么知道一个数据存放在哪些Block块里面呢?这个时候就必须需要一个索引,引导我们去找到哪些存放在BLOCK块里面的额数据。这存放索引的地方我们称为索引节点(Inode),索引节点里面包括了:文件的类型,属主,属组,权限,和时间戳一些信息,但是不包括文件名, 1.1.2 inode包含的内容
我们并不喜欢 MySQL 中出现大事务(更新很多数据的事务),大事务往往带来很多维护的问题。
哪位同学清理磁盘空间了,因为实在太干净了,只剩下几个必要的目录其它的文件全被删除了。「安全原因这里就不放图了」
题目给了 bzImage,core.cpio,start.sh 以及 vmlinux 四个文件,接下来简单介绍一下。
sed是Linux中最常用的"文本处理工具"之一,常规情况下,每次匹配一行内容到模式空间,经过处理变化之后,输出结果
作为运维,多多少少会碰见这样那样的问题或故障,从中总结经验,查找问题,汇总并分析故障的原因,这是一个运维工程师良好的习惯。每一次技术的突破,都经历着苦闷,伴随着快乐,可我们还是执着的继续努力,从中也积累了更多的经验,这就是实践给予我们的丰厚回报。
一个业务系统的服务器监控系统发来预警通知,磁盘空间使用率已经达到90%了,然后就登陆服务器搜索了下比较大的日志文件,全部都删除了(坑在此处埋上了),磁盘空间释放了一些,当时也是疏忽,没有确认查出并删除的文件大小的空间是否已经全部释放。没过几天,服务器又被预警了,比较纳闷,日志怎么增长的这么快,排查之后发现,原来是上次操作删除文件后,有个较大的文件空间没有释放导致的。
由于Linux没有回收站功能,所以线上服务器上所有要删除的文件都会先移动到系统/tmp目录下,然后定期清除/tmp目录下的数据。这个策略本身没有问题,但是通过检查发现这台服务器的系统分区中并没有单独划分/tmp分区,这样/tmp下的数据其实占用了根分区的空间。既然找到了问题,那么删除/tmp目录下一些占空间较大的数据文件即可,检查/tmp下最大的三个数据文。
mysql调优思路: 1.数据库设计与规划--以后再修该很麻烦,估计数据量,使用什么存储引擎 2.数据的应用--怎样取数据,sql语句的优化 3.mysql服务优化--内存的使用,磁盘的使用 4.操作系统的优化--内核、tcp连接数量 5.升级硬件设备 以下文章来源地址:http://www.ibm.com/developerworks/cn/linux/l-tune-lamp-3.html 有 3 种方法可以加快 MySQL 服务器的运行速度,效率从低到高依次为: 1. 替换有问题的硬
最近我在生产上遇到一个非常有意思的问题,在Cent OS7以上的操作系统中,VG卷组一激活其默认对应的文件系统也一并挂载上了,而且这还不是红帽和CentOS的特有问题,如果fstab配置default参数的话,其它Linux发行版也有同样的问题。
Linux 中的 xargs 命令是一个非常有用的命令行工具,可以将一些参数集合传递给其他命令作为参数,并利用指定的命令进行处理。它可以帮助我们批量处理文件,执行一些需要多个参数的命令,并且支持并发操作。
登录到服务器,看了下发现100GB的根目录,居然使用了差不多90GB。这台服务器上只跑了一个MySQL,应该不是日志未清理等其它原因造成的。
对于此现象,我们在前文也知道了,这是由于进程的独立性,子进程在对数据进行修改时,会触发写时拷贝所造成的。但是,假如这里的地址是物理地址的话,同一块地址处却有不同的值,这肯定是不现实的。★因此,我们可以得出这样的结论:
本文使用的工程代码地址:https://github.com/jinjunzhu/springboot-rabbitmq.git
先来说说sed命令的原理和一些概念,sed之所以能以行为单位的编辑或修改文本,其原因在于它使用了两个空间:一个是活动的“模式空间(pattern space)”,另一个是起辅助作用的“暂存缓冲区(holdingspace)这2个空间的使用。
我曾经在公司处理过很多次Mysql性能上的问题,利用一些Linux常用的命令来查看Mysql对服务器的CUP和I/O使用情况,通过慢查询日志找出有待优化的sql,通过show processlist查看正在执行的sql的情况以及及时kill死锁的sql,通过EXPLAIN分析需要优化的sql语句。当然也对Mysql内部配置做了一些调整。 最近也在看《高性能MySQL》这本Mysql的经典书籍,很早的时候我就想写一个系列来介绍我在使用Mysql遇到的一些问题。无意中发现一篇博客写的内容和我想写的基本差不
1. 简介 我们自己构建 Docker image 时都希望结果镜像越小越好,那么如何才能尽量变小呢? 下面我们通过一个简单的案例,了解下优化思路,看一个简单的镜像如何从 743MB 减到 536MB 2. 案例 目标 非常简单,build 一个 java 镜像 基于 centos 基础镜像,和下载好的 jdk-8u101-linux-x64.tar.gz 过程 1)第一版 Dockerfile 内容: FROM centos COPY jdk-8u101-linux-x64.tar.gz /usr/lo
35C3 CTF是在第35届混沌通讯大会期间,由知名CTF战队Eat, Sleep, Pwn, Repeat于德国莱比锡举办的一场CTF比赛。比赛中有一道基于Linux命名空间机制的沙盒逃逸题目。赛后,获得第三名的波兰强队Dragon Sector发现该题目所设沙盒在原理上与docker exec命令所依赖的runc(一种容器运行时)十分相似,遂基于题目经验对runc进行漏洞挖掘,成功发现一个能够覆盖宿主机runc程序的容器逃逸漏洞。该漏洞于2019年2月11日通过邮件列表披露,分配编号CVE-2019-5736。
归并排序的思想上我们已经全部介绍完了,但是同时也面临和快速排序一样的问题那就是递归消耗的栈帧空间太大了,所以对此我们必须掌握非递归的排序思想。
避免MySQL的外部锁定,减少出错几率增强稳定性。 5以前版本skip-locking,新版本skip-external-locking
在Excel里从单元格读取数据,获取的是一个二维的数组,这也是数组与单元格交互最常用的方式。
#1 - 错误: 设备上无剩余空间 当你的类UNIX系统磁盘写满了时你会在屏幕上看到这样的信息。本例中,我运行fallocate命令然后我的系统就会提示磁盘空间已经耗尽: $ fallocate -l 1G test4.imgfallocate: test4.img: fallocate failed: No space left on device 第一步是运行df命令来查看一个有分区的文件系统的总磁盘空间和可用空间的信息: $ df 或者试试可读性比较强的输出格式: $ df -h 部分输出内容: Fi
个人觉得egrep比较好用,感觉改良了grep的一些不可以直接操作的东西,但是总体来说还是没太大区别的,都是一个过滤工具。
如果 SQL 在执行过程中读到的数据无法直接得到结果,那么就需要额外的内存来保存中间结果,得出最终结果,这个额外的内存就是内部临时表。比如 group by 执行时,就需要构建一个临时表,需要额外的字段保存聚合函数的结果,当然为了防止内存使用过大,一般超出某个限制后就会放到磁盘上。关于哪些操作会产生内部临时表,可以查看官方文档:https://dev.mysql.com/doc/refman/8.0/en/internal-temporary-tables.html,下面主要介绍 MySQL 8.0 内部临时表存放方式的变化。
作为一名合格的 Linux 运维工程师,一定要有一套清晰、明确的解决故障思路,当问题出现时,才能迅速定位、解决问题,这里给出一个处理问题的一般思路:
qdownload qdownload 从七牛空间同步数据到本地,支持只同步某些前缀的文件,支持增量同步 [root@h101 qshell]# cat ccfg { "dest_dir" : "/tmp/x", "bucket" : "qiniucloud-goods", "domain" : "http://video.qiniutest.cn", "access_key" : "ELUs327kxVPJrGCXqWae9yioc0xY
来源:CU技术社区 ID:ChinaUnix2013 作为一名合格的 Linux 运维工程师,一定要有一套清晰、明确的解决故障思路,当问题出现时,才能迅速定位、解决问题,这里给出一个处理问题的一般思路: 重视报错提示信息:每个错误的出现,都是给出错误提示信息,一般情况下这个提示基本定位了问题的所在,因此一定要重视这个报错信息,如果对这些错误信息视而不见,问题永远得不到解决。 查阅日志文件:有时候报错信息只是给出了问题的表面现象,要想更深入的了解问题,必须查看相应的日志文件,而日志文件又分为系统日志文件(/
一般来说,当调用 open() 系统调用打开文件时,如果不指定 O_DIRECT 标志,那么就是使用缓存I/O来对文件进行读写操作。我们先来看看 open() 系统调用的定义:
转载自http://www.cnblogs.com/luyucheng/p/6340076.html
上次在云函数里面整了一个嵌入式的SQL数据库以后爽的连云开发数据库都不想用了。不过有的时候还是需要用到kv存储,那能不能也serverless一把呢?level就是一个还不错的选择。打包一个层以后直接引用就可以了:
6月1号,我提交了一个linux内核中的任意递归漏洞。如果安装Ubuntu系统时选择了home目录加密的话,该漏洞即可由本地用户触发。如果想了解漏洞利用代码和短一点的漏洞报告的话,请访问https:/
说明:MySQL在Windows下不区分大小写,但在Linux下默认是区分大小写,为了避免出现不必要的麻烦,统一使用小写
KSMA的全称是Kernel Space Mirror Attack,即内核镜像攻击。本文主要记录对该攻击方法的原理分析以及Linux内核中相关内存管理部分。
人们想要学习Unix shell的一个常见原因是释放批处理的功能。如果要对许多文件执行某些操作,一种方法是构造一个遍历这些文件的命令来实现。在编程术语中,这称为执行控制,最常见的示例之一是for循环。
CDO在处理气候及模式数据方面有着非常强大的功能,而且其中包含有一些简单的统计和计算函数,数据选择以及空间差值函数。支持常见的气象数据格式,比如GRIB,NetCDF等。
1、配置文件参数my.cnf tmp_table_size=64M max_heap_table_size=64M tmpdir = /data/mysql/tmp 2、优化Tips: 如果Created_tmp_disk_tables/ Created_tmp_tables应该小于20%,如果比值较高,就需要适当调高tmp_table_size或者max_heap_table_size的值,让Mysql在内存中完成临时表的操作,减少使用硬盘对性能和响应时长的影响。 在调高tmp_table_size或者m
版权申明:本文为博主窗户(Colin Cai)原创,欢迎转帖。如要转贴,必须注明原文网址 http://www.cnblogs.com/Colin-Cai/p/7663831.html 作者:窗户 QQ:6679072 E-mail:6679072@qq.com sed是所谓的流编辑器,我们经常用它来做一些文本替换的事情,这是sed最擅长的事情,如sed 's/Bob/Tom/g'就是把文章中所有的Bob改成Tom。 sed是图灵完备的,作为sed的粉丝,喜欢用sed做
本文由马哥教育Linux云计算面授班23期学员推荐,转载自互联网,作者为Lis,Linux资深技术专家,内容略经小编改编和加工,观点跟作者无关,最后感谢作者的辛苦贡献与付出。 与windows系统一样,linux操作系统也会存在很多问题和故障,很多linux新手都害怕故障,面对出现的问题显得无可奈何,更有甚者,由此放弃了linux,其实,我们不应该惧怕问题,学习就是一个发现问题与解决问题的过程,只要掌握了解决问题的基本思路,一切故障都会迎刃而解,当然前提是我们已经具备了解决问题的思路和扎实的知识功底。
最近在爬虫,要保存大量的源码在linux上,最后发现根目录不足,想要追加根目录的空间,我的系统是centos7,还好之前分配了一整个系统盘给centos,有200g,根目录目前使用了50g,现在从home目录分配100g给root目录,剩50g给自己,也就是home目录,我目前就给home留了40g,之前都给的时候出了些小问提,还没琢磨出来,就少分一点,我们先用着,可能是 Free PE 的问题 。如果是安装时候硬盘空间用完了,也可以进行再挂载一个硬盘进行追加空间。
对于服务器的一些信息,如果数据量大了之后总是感觉力不从心,需要了解,但是感觉得到的这些信息不够清晰明了。 比如我们得到一台服务器,需要知道最基本的硬件配置,内存情况,磁盘空间情况,哪些磁盘空间问题需要关注,哪些磁盘空间问题可以忽略,swap的使用情况 如何,服务器的操作系统版本,内核版本,上面运行有几个实例,是否启用了ASM,甚至服务器运行了多少天呢,这些信息看起来非常琐碎,也可以通过脚本得 到,但是一直以来感觉都是比较笼统模糊。 今天使用shell脚本进行了简单的改进。 我们来看看基本的效果情况。有了这些
领取专属 10元无门槛券
手把手带您无忧上云