摘要:
原理及其区别 Linux Virtual Server是通过ipvs内核模块和ipvsadm用户空间命令行工具来实现负载均衡的它支持三种工作模式: NAT模式:LVS调度器将请求转发给后端服务器,同时修改请求的目标地址为后端服务器的地址,后端服务器将响应返回给LVS调度器,再由LVS调度器修改响应的 阅读全文
摘要:
首先给出基本框架 #include <iostream> #include <thread> using namespace std; int main(){ int n = 100; int i = 0; //创建两个线程 thread newThread1([&n, &i](){ while(i 阅读全文
摘要:
什么是零拷贝 零拷贝描述的是在计算机操作系统中,CPU不执行将数据从一个内存区域,拷贝到另一个内存区域的任务。 通过网络传输文件时,零拷贝通常可以节省CPU周期和内存带宽。 零拷贝的好处 节省了CPU周期,空出的周期可以完成其它任务。 减少内存区域间的数据拷贝,节省内存带宽。 减少用户态和内核态之间 阅读全文
摘要:
一个线程从属于一个进程;一个进程可以包含多个线程。 一个线程挂掉,对应的进程挂掉,多线程也挂掉;一个进程挂掉,不影响其它进程,多进程稳定。 进程系统开销显著大于线程开销;线程需要的系统资源更少。 多进程在执行时拥有各自独立的内存单元;多线程共享进程的内存,例如.text,.data,.bss和扩展段 阅读全文
摘要:
C++多线程 C++11引入了线程类thread,头文件为 #include <thread> 创建多线程的方法: std::thread threadName(functionName, parameter1, paramater2, …); 传递参数可以传左值,右值,引用(使用std::ref) 阅读全文
摘要:
CPU 使用top命令,然后按shift+p按照CPU排序,找到占用CPU过高的进程pid。 使用top -H -p pid命令,找到进程中消耗资源最高的线程ppid。 使用echo ‘obase=16;ppid’ | bc或者print “%x\n” ppid将线程id转换为16进制(小写)。 使 阅读全文
摘要:
物理内存管理 物理内存有四个层次,分别为: 寄存器:速度最快,存储空间少,价格贵 高速缓存:次之 主存:再次之 磁盘:速度最慢,存储空间最多,价格便宜 操作系统通过内存管理器对物理内存进行管理,主要工作是记录哪些内存是正在使用的,在进程需要时分配内存以及在进程完成时回收内存。 地址生成过程 内部碎片 阅读全文
摘要:
概要 filename 文件名 dir 文件夹名 string 字符串 username 用户名 groupname 组名 regex 正则表达式 path 路径 partition 分区名 port 端口号 IP IP地址 domain 域名 PID 进程ID host 主机名 文件命令 文件系统 阅读全文