如何利用系统缓存提高应用程序运行效率
Buffer和Cache分别缓存的是对磁盘和文件系统的读写数据。 从写的角度来说,不仅可以优化磁盘和文件的写入,对应用程序也有好处,应用程序可以在数据真正落盘前,就返回去做其他工作。 从读的角度来说,不仅可以提高那些频繁访问数据的读取速度,也降低了频繁I/O对磁盘的压力。 缓存命中...
祝君万事如意心想事成!
Buffer和Cache分别缓存的是对磁盘和文件系统的读写数据。 从写的角度来说,不仅可以优化磁盘和文件的写入,对应用程序也有好处,应用程序可以在数据真正落盘前,就返回去做其他工作。 从读的角度来说,不仅可以提高那些频繁访问数据的读取速度,也降低了频繁I/O对磁盘的压力。 缓存命中...
当我们执行 free 命令时看到有一栏 buffer/cache root@linux:~# free -h total used free shared buff/cache availableMem: ...
内存映射Linux 内核给每个进程都提供了一个独立的虚拟地址空间,并且这个地址是连续的,这样进程就可以很方便的访问内存,更确切的说是访问虚拟内存。 虚拟地址空间的内部又被分为: 内核空间 用户空间 不同字长的处理器,地址空间范围不同,下图是32位和64位系统的虚拟地址空间 34位系统内核占用1...
准备工具2台机器 A 机器192.168.10.55 安装: docker sysstat sar tcpdump B 机器 安装 hping3 在A机器执行以下命令,运行nginx docker run -itd --name=nginx -p 80:80 nginx 在B 机器执行 # c...
当进程处于长时间不可中断状态,就有可能出现系统异常。除了iowait 还有软中断也是常见的 CPU 使用率升高的问题之一。 什么是中断中断是系统用来响应硬件设备请求的一种机制,它会打断进程的正常调度和执行,然后调用内核中的中断处理程序来响应设备的请求。 软中断就比如说你订了一份外卖,但是不确定外卖什...
当iowait 升高时,进程可能因为得不到硬件响应,而长时间处于不可中断状态,从ps或top命查看进程状态 进程状态 R是Running或Runnable的缩写,表示进程在CPU的就绪队列中,正在运行或者正在等待运行。 D是Disk Sleep 的缩写,也就是不可中断状态睡眠(Uninterrup...
如果使用 top、pidstat 等工具发现 用户 CPU 占用很高,但是具体进程看发现CPU 占用并不高,可以通过perf 分析一段时间内的报告 # 记录性能事件,等待大约 15 秒后按 Ctrl+C 退出$ perf record -g# 查看报告$ perf report 或者使用exe...
Linux作为一个多任务操作系统,将每个CPU的时间划分为很短的时间片,再通过调度器轮流分配给各个任务使用,因此造成多任务同时运行的错觉。 CPU 使用率为了维护 CPU 时间,Linux 通过事先定义的节拍率(内核中表示为 HZ),触发时间中断,并使用全局变量 Jiffies 记录了开机以来的节拍...
问题多个进程之间竞争 CPU 的时候并没有真正运行,为什么会导致负载升高? 原因就是 CPU 上下文切换 什么是 CPU 上下文切换Linux 是一个多任务操作系统,它支持远大于CPU 数量的任务同时运行,但实际上这些任务并不是真正的在运行,而是因为系统在很短的时间内将CPU轮流分配给它们,造成同时...
使用mac 系统已经有四五年了,也积攒了一些使用经验,不得不说mac 系统非常适合 IT 从业者使用,就是价格有点小贵,且散热不是很好。dns整体的用户体验还是非常不错的。 我在日常工作中也购买了一些软件辅助日常的办公,这里分享给大家一些好用的软件 图床软件 ipic :将截图上传到对象存储,例如阿...
执行systemctl restart network 失败 [root@ceph0 ~]# systemctl restart networkJob for network.service failed because the control process exited with error ...
每当发现系统变慢,我们通常会执行top或uptime来了解系统的负载情况 [root@ceph0 ~]# uptime 09:17:59 up 4 days, 10:39, 1 user, load average: 2.41, 2.64, 2.58 上面的值分别表示 09:17:59 ...
笔者目前从事云计算行业的客户服务性岗位,虽然工作上需要用到各种技术,比如各种云服务背后的原理和产品定制化的细节,例如虚拟化技术、 Windows server 、Linux 系统的技术、各种关系型数据库非关系型数据库、容器服务、k8s、负载均衡等产品的背后原理和技术,需要能够自己搭建相关的服务,对于...
由于之前把域名托管在 cloudflare ,感觉解析比较慢,于是换到了阿里云,为了使用 letsencrypt 自动续签证书功能,我决定重新使用阿里云的 ak和sk 申请一下证书,在使用 letsencrypt 签发证书时发现报错缺少 CAA [2019年 03月 22日 星期五 11:09:28...
索引就是为了提高查询效率,就像书的目录一样。 索引的常见类型索引的出现是为了提高查询效率,但是实现索引的方式却有很多种,例如哈希表、有序数组和搜索树等。 哈希表 哈希表是一种以键-值(key-value) 存储数据的结构,我们只要输入待查找的值即key,就可以找到其对应的值即Value。哈希的思路很...
事务就是要保证一组数据库操作,要么全部成功,要么全部失败。 并不是所有的引擎都支持事务。比如 MySQL 原生的 MyISAM 就不支持事务,因此被InnoDB 取代。 隔离性和隔离级别什么是 ACID? ACID(Atomicity、Consistency、Isolation、Durabilty,...
mysql 的两个重要日志模块 redo log(重做日志) 和 binlog(归档日志) redo log 用于保证 crash-safe 能力。innodb_flush_log_at_trx_commit 这个参数设置成 1 的时候,表示每次事务的 redo log 都直接持久化到磁盘。这个参数...
Mysql 的基本架构图 MYSQL 的整个架构可以分为 server 层 和存储引擎层2个部分,其中 Server 层 包括: 连接器 查询缓存 分析器 优化器 执行器 server 层涵盖了 Mysql 的大多少核心服务功能以及内置函数 存储引擎层 负责数据的存储和提取其架构是插件式的,...
我直接说结论吧!努力没有错,但是努力并不一定可以成功,著名的老者曾经说过”自身努力固然重要,但是还是要看历史进程”。如果说你在一条逆历史进程的方向上努力,即使你在努力一千倍一万倍也是无济于事。到头来只不过是自我感动而已。 就拿农民来说吧,我感觉他们真的很努力,面朝黄土背朝天,起早贪黑的干活,农忙的时...
315晚会曝光了各种类似 714的套路贷款,我就想起了我的朋友小王去年发生的事情。给大家分享下他的经历,希望给一些转行中的年轻人,尤其是刚毕业涉世不深的大学生一些警醒吧! 小王是一名刚刚毕业没多久的大学生,因为大学期间学的是化学专业,毕业后一直没找到合适的工作,并且小王对本专业的未来就业前景表示很渺...