linux
静谧之心
专业摩的佬
业余吉他手
退役喷子
展开
-
不同linux发行版 对tmp目录的处理逻辑大全
今天因为kafka的日志清理问题被坑了起因:kafka设置的默认log目录是tmpkafka配置了定期清理loglinux的tmp机制, 导致了log被提前删除kafka删除log时, 由于log已经删除, 导致报出异常, 停止服务在某些发行版里, tmp 目录原来只有在启动的时候才会被清理在 Debian-like 的系统,启动的时候才会清理 (规则定义在 /etc/default/rcS )在 RedHat-like 的系统,按文件存在时间定时清理 (RHEL6 规则定义在 /e原创 2021-12-08 11:44:47 · 251 阅读 · 0 评论 -
linux 性能优化之路(二): 深入了解几种linux上下文切换
上下文切换是什么?上下文切换是对任务当前运行状态的暂存和恢复CPU为什么要进行上下文切换?当多个进程竞争CPU的时候,CPU为了保证每个进程能公平被调度运行,采取了处理任务时间分片的机制,轮流处理多个进程,由于CPU处理速度非常快,在人类的感官上认为是并行处理,实际是"伪"并行,同一时间只有一个任务在运行处理。上下文切换主要消耗什么资源,为什么说上下文切换次数过多不可取?根据 Tsuna 的测试报告,每次上下文切换都需要几十纳秒到到微秒的CPU时间,这些时间对CPU来说,就好比人类对1分钟或10分原创 2021-11-04 18:00:17 · 293 阅读 · 0 评论 -
linux 性能优化之路(三): 了解CPU软中断和硬中断
什么是中断中断表示我们请求操作硬件操作准备就绪了,例如从磁盘读取数据,我们知道CPU执行速度比磁盘执行速度快几个数量级,因此如果CPU每次check磁盘是否准备就绪了,那么系统的并发能力和性能会大大下降,但是采用中断方式,异步事件驱动方式来提升系统效率,首先会在驱动程序中嵌入中断程序,一旦磁盘准备就绪就会通过驱动程序发生一个中断请求操作,CPU立马停下手里的活来执行中断程序,该中断程序会从磁盘中读取数据到内存中。如何避免丢失其他中断请求一定要保证中断程序快速能处理,因为当CPU在处理中断时,是不能响应原创 2021-11-04 17:40:12 · 1187 阅读 · 0 评论 -
Linux下ps -ef 和 ps aux 的区别及格式详解
Linux下显示系统进程的命令ps,最常用的有ps -ef 和ps aux。这两个到底有什么区别呢?这里要说一下 BSD vs System V这里需要说明的是:Linux不能称为"标准的Unix“而只被称为"Unix Like"原因有一部分就是来自它的操作风格介乎两者之间,而且不同的厂商为了照顾不同的用户,各linux发行版本的操作风格之间也有不小的出入。BSD(BerkeleySoftware Distribution,伯克利软件套件)是Unix的衍生系统,1970年代由伯克利加州大学(Uni原创 2021-11-04 16:57:42 · 391 阅读 · 0 评论 -
越过时针回拨的坑, 解决重启导致的雪花算法id重复问题, 文末附送踩坑总结大礼包
在上一篇文章中通过PowerMockito来模拟时钟回拨, 验证改进版雪花算法是否起效我们了解了什么是时针回拨, 怎样去解决它, 但是像雪花算法这种高性能的id生成器, 比较娇贵, 比如在我将这个算法投入到生产之前, 发现这个算法在重启之后再压测的时候, 会出现大量重复的id, 当时就猜测可能算法本身有一个记载状态的属性, 去读源码, 果然找到了, 这个属性叫epoch.Id重复发生原因:epoch对应该算法第一次初始化传入的时间, 也就是算法的生日~~因为这个epoch在每次启动的时候默认传入原创 2021-07-14 17:35:11 · 4710 阅读 · 1 评论 -
如何永久关闭selinux
getenforce 查看状态setenforce 0 关闭内存中的配置(重启失效)vi /etc/selinux/config设置 SELINUX=permissivereboot 搞定原创 2021-03-24 17:42:48 · 687 阅读 · 0 评论 -
docs2unix 命令介绍
命令简介:dos2unix是将Windows格式文件转换为Unix、Linux格式的实用命令。Windows格式文件的换行符为\r\n ,而Unix&Linux文件的换行符为\n. dos2unix命令其实就是将文件中的\r\n 转换为\n。而unix2dos则是和dos2unix互为孪生的一个命令,它是将Linux&Unix格式文件转换为Windows格式文件的命令。最近被坑了一把 docker在linux服务器上到死都找不到启动脚本, 最终定位到是window的文件和linux/u原创 2020-11-02 17:03:10 · 1116 阅读 · 0 评论 -
Centos7 将自定义命令注册为linux服务
在/etc/systemd/system/中新建文件xxx.service在xxx.service中加入下面内容#centos7[Unit]Description=xxxAfter=syslog.target [Service]ExecStart=/usr/bin/java -jar /usr/local/xxx.jar(jar包存放于/usr/local/xxx.jar) [Install]WantedBy=multi-user.target systemctl start.原创 2020-09-29 17:43:22 · 478 阅读 · 1 评论 -
SpringCloudAlibaba全家桶之 RocketMQ 服务快速搭建(包含可视化console)
RocketMQ 介绍简介RocketMQ 是一款分布式、队列模型的消息中间件,具有以下特点:能够保证严格的消息顺序提供丰富的消息拉取模式高效的订阅者水平扩展能力实时的消息订阅机制亿级消息堆积能力选用理由:强调集群无单点,可扩展,任意一点高可用,水平可扩展。海量消息堆积能力,消息堆积后,写入低延迟。支持上万个队列消息失败重试机制消息可查询开源社区活跃成熟度(经过双十一考验)安装步骤(这里只示范单机模式)1. 上传解压安装包tar -xvf apache-rocke原创 2020-08-10 10:36:13 · 1007 阅读 · 1 评论 -
linux修改主机名
临时修改主机名:sudo hostname 新的主机名永久修改主机名:主机名存储在两个地方,两个地方都有修改sudo nano /etc/hostname将原本的名称改为新的主机名sudo nano /etc/hosts将原本的名称改为新的主机名...原创 2020-03-14 16:17:24 · 277 阅读 · 0 评论 -
vim编辑器乱码
打开 vim /etc/vim/vimrc在里面加入如下代码:set fileencodings=utf-8,ucs-bom,gb18030,gbk,gb2312,cp936set termencoding=utf-8set encoding=utf-8source /etc/vim/vimrc原创 2020-03-14 16:00:10 · 355 阅读 · 0 评论 -
Linux nano 编辑器教程
使用Linux VPS会经常和编辑器打交道,一般常用的是vi和nano,虽然vi功能强大,但是相对新手来要稍微难上手,GNU nano是一个体积小巧而功能强大的文本编辑器。这里就简单说一下nano的使用方法。安装CentOS:执行yum -y install nanoDebian:执行apt-get install -y nano新建/打开文件nano 路径+文件名如果改文件存在,上面...原创 2020-03-14 15:20:55 · 849 阅读 · 0 评论 -
一行搞定 vim 乱码
vi ~/.vimrc添加set enc=utf8一般来说就够了(只针对vim乱码的情况,操作系统乱码另说)如果还不行,可以再添加set fencs=utf-8,gb2312,gb18030,gbk,ucs-bom,cp936,latin1还不行就把第一行的utf8换成gbk,第二行的gbk挪到最前...原创 2019-11-05 06:05:43 · 393 阅读 · 0 评论 -
Hbase 无法使用退格键删除输入内容
选项–会话选项–仿真–终端–选择Linux使用Ctrl + Backspace组合键删除或者:按住Shift,点击Delete键,也可以删除。或者:按←键到你所要删除字母的前一位置,这时候再按Backspace键删除的是后一位再或者:选项–会话选项–映射键–勾上:backspace发送delete和delete发送backspace(直接可使用Backspace键删除)...原创 2019-10-15 06:12:59 · 422 阅读 · 0 评论 -
tar 命令详解
tar命令详解-c: 建立压缩档案-x:解压-t:查看内容-r:向压缩归档文件末尾追加文件-u:更新原压缩包中的文件这五个是独立的命令,压缩解压都要用到其中一个,可以和别的命令连用但只能用其中一个。下面的参数是根据需要在压缩或解压档案时可选的。-z:有gzip属性的-j:有bz2属性的-Z:有compress属性的-v:显示所有过程-O:将文件解开到标准输出参数-f是...原创 2019-10-12 06:46:09 · 1107 阅读 · 0 评论 -
shell不能识别alias 解决方案
有时候在我们当前的shell中,是有某个alias command可用的,但是当我们sh script.sh或者./script.sh后,就发现出错alias command not found问题。这是怎么回事呢?是因为当你用当前shell执行新的脚本的时候,当前shell的alias并不会自动复制到新的执行script.sh脚本的shell,所以就不会有这个alias command.一种...原创 2019-10-01 06:54:04 · 8782 阅读 · 0 评论 -
linux证书 加油!
原创 2019-09-20 03:41:25 · 520 阅读 · 2 评论