
Linux
文章平均质量分 73
linux
big muscle
Java开发
展开
-
IO模型_
Linux 五种IO模型原创 2020-06-30 17:11:01 · 169 阅读 · 0 评论 -
零拷贝__
https://time.geekbang.org/column/article/232676原创 2021-02-26 10:07:23 · 180 阅读 · 0 评论 -
进程通信方式
为什么需要通信每个进程各自有不同的用户地址空间,任何一个进程的全局变量在另一个进程中都看不到,所以进程之间要交换数据必须通过内核,在内核中开辟一块缓冲区,进程A把数据从用户空间拷到内核缓冲区,进程B再从内核缓冲区把数据读走,内核提供的这种机制称为进程间通信。通信方式管道(pipe,半双工(单向))匿名管道(父子进程关系)命名管道(允许无亲缘关系进程间的通信)消息队列信......原创 2020-04-23 14:11:27 · 154 阅读 · 0 评论 -
linux内存地址
虚拟地址(线性地址) 逻辑地址:每一个逻辑地址都由一个段标示符和段偏移组成。 线性地址:也叫虚拟地址,在32位系统下,每个进程会虚拟出4G内存,其中0×00000000 到 0xBFFFFFFF是用户进程空间,0xC0000000 到 0xFFFFFFFF是内核进程空间。 物理地址:实际的内存地址逻辑地址 ----(段表)—> 线性地址 — (页表)—> 物理地址逻辑地址是段标识+段内偏移量的形式,MMU(内存管理模块)通过查询段表,可以把逻辑地址转化为线性地址。段寄存器(找到逻原创 2020-06-18 19:30:20 · 920 阅读 · 0 评论 -
fork()
fork()一个进程,包括代码、数据和分配给进程的资源。fork()函数通过系统调用创建一个与原来进程几乎完全相同的进程,也就是两个进程可以做完全相同的事,但如果初始参数或者传入的变量不同,两个进程也可以做不同的事。每个进程都有一个独特(互不相同)的进程标识符(process ID)getpid()函数:获取进程标识符(process ID) getppid():获取父进程pid还有人可能疑惑为什么不是从#include处开始复制代码的,这是因为fork是把进程当前的情况拷贝一份,执行fork时原创 2020-06-06 15:20:49 · 363 阅读 · 0 评论 -
linux性能优化
啊啊原创 2020-06-18 19:58:32 · 216 阅读 · 1 评论 -
linux命令
uptime(过去1,5,15分钟cpu平均负载)简单理解为,平均负载其实就是平均活跃进程数(包括等待cpu的进程)比如当平均负载为 2 时,意味着什么呢? 在只有 2 个 CPU 的系统上,意味着所有的 CPU 都刚好被完全占用。 在 4 个 CPU 的系统上,意味着 CPU 有 50% 的空闲。 而在只有 1 个 CPU 的系统中,则意味着有一半的进程竞争不到 CPU一般当平均负载高于 CPU 数量 70% 的时候,你就应该分析排查负载高的问题了平均负载与 CPU 使用率CPU 密集型原创 2020-06-18 17:36:40 · 325 阅读 · 0 评论