linux

linux之cpu cache

CPU缓存概述 为什么需要CPU缓存 cpu缓存访问速度 cpu缓存介绍 CPU Cache Cache 结构 cache寻址方式 Cache Entry & Cache line L3 Cache CPU高速缓存读操作 直接映射寻址过程 组关联寻址过程 Cache Miss CPU高速缓存写操作 缓存写入策略 写直达 写回 缓存一致性协议 MESI MESI协议缓存状态 MESI状态转换 多核缓存协同操作 读写屏障 MESI优化和他们引入的问题 CPU切换状态阻塞解决-存储缓存(

  • 刘凯
29 min read
linux

主板频率、内存频率与cpu频率

频率与超频 【频率】电子元件工作的时候会运行在一定的频率下,频率越高,这个元件的处理速度越快,这就和汽车发动机的马力一样,但是在电脑中,性能不单单只是由频率这一项参数决定,所以频率仅限相同的产品,同一代进行横向对比。 【超频】电子元件既然会照着一定的频率运行,这个频率肯定不是凭空而来,他是厂家在出厂的时候人为设定的,厂家会将频率设定在一个能长期稳定运行的状态下,既然频率是人为设定的,那我们也可以去人为更改,将默认的频率手动修改到更高,让元件超负荷运转,这就是俗称的超频,由于频率高了,电压与发热也会变高,因此超频虽然能免费提升性能,但也要承担相应风险。 内存条的标注频率 内存条的标注频率指的就是你在买内存的时候,商品标题所写的内存频率,这个就是代表了内存条的物理属性。 内存条的标注频率代表了这个内存最高可以稳定工作在什么样的频率下,这里有两个关键词就是最高和稳定,内存频率是人为设定的,只要你想,2400的内存同样可以设定为3200,

  • 凯文
6 min read
linux

linux之CPU

问题 CPU的规格一样吗? 多核 CPU 和多个 CPU 有何区别? CPU线程切换时,CPU缓存中的数据如何变化? CPU概述 cpu作用 CPU只执行三种基本的操作,分别是读出数据、处理数据和往内存写数据。 cpu规格 主流CPU还是Intel和AMD两家的天下。无论是高端还是低端,两大品牌都有着全线的产品。 Intel和AMD的规格是不同的,根据根据主板的cpu接口选择适当的cpu,值得一提的是,同样的Intel,不同系列的cpu,规格也不同,如i3~9与至强系列 系列 尺寸 接口 i3~i9 37.5×

  • 刘凯
20 min read
linux

linux之手动实现容器

目录隔离 创建目录 在工作目录下创建/usr,并将本机该目录下的所有文件copy到工作目录中 启动程序 启动单独mount namespace的程序 unshare -m bash 如果通过unshare命令后,挂载目录后,在其它的mount namespace中仍然可以通过 mount 命令查到,则下载最新的unshare可执行文件 挂载目录 当通过docker run -v挂载目录时,将某个容器外的目录挂载至容器内 mount --bind /data1 data 发现在该mount namespace中,mount命令执行结果如下 [root@k8s-master mount]

  • 刘凯
10 min read
linux

linux系统之磁盘存储

问题 ls的size表示什么,与du查看大小的区别是什么? 为什么目录占空间大小为4096? 分区是按盘面还是柱面? 软连接和硬连接有什么区别? 文件名存储在inode还是文件对应的block中? 磁盘结构 盘片、盘面、磁头 硬盘中一般会有多个盘片组成,每个盘片包含两个面,每个盘面都对应地有一个读/写磁头。受到硬盘整体体积和生产成本的限制,盘片数量都受到限制,一般都在5片以内。盘片的编号自下向上从0开始,如最下边的盘片有0面和1面,再上一个盘片就编号为2面和3面。 磁道、扇区 磁道 上图显示的是一个盘面,盘面中一圈圈灰色同心圆为一条条磁道 扇区 从圆心向外画直线,可以将磁道划分为若干个弧段,每个磁道上一个弧段被称之为一个扇区(图践绿色部分) 扇区是磁盘的最小组成单元,通常是512字节。

  • 刘凯
7 min read
linux

linux存储相关命令

磁盘操作 fdisk-查看及管理分区 分区操作 df-分区情况统计 mount/umount-挂载/取消挂载 tune2fs-调整和查看ext2/ext3文件系统参数 blkid-查看文件系统基本信息 e2label-设定分区的label blockdev-获取/设置块设备的属性值 dumpe2fs-查看分区详细信息 格式化 mkfs-格式化分区 mke2fs-格式化ext系统分区 文件操作 du-查看占用空间大小 ls-列出文件 stat-显示文件详细信息 fuser-查找使用文件的进程 检查/修复分区 fsck-检查并修复linux文件系统 badblocks-检查硬盘坏道 filefrag-查看文件碎片报告 e2label 作用 e2label命令,用于获取或设置ext2、ext3文件系统对应的分区的卷标。 卷标:

  • 刘凯
15 min read
java

synchronized详解

问题 某实例未执行过锁代码块,该实例的标识位是101还是001? 轻量级锁和重量级锁执行完成锁代码块后的标识位分别是什么? 轻量级锁执行完锁代码块后,出现其他线程竞争锁,该线程竞争成功后是什么锁? synchronized是否可降级? java对象Mark Word 32位Header Mark Word 即32bit,4个字节 64位Header Mark Word |------------------------------------------------------------------------------|--------------------| | Mark Word (64 bits) | State | |------------------------------------------------------------------------------|--------------------| | unused:25 | identity_hashcode:31 | unused:

  • 凯文
9 min read
java

java基础之二进制存储

原码、反码和补码 在计算机内,定点数有3种表示法:原码、反码和补码 原码 二进制定点表示法,即最高位为符号位,“0”表示正,“1”表示负,其余位表示数值的大小。 反码 正数的反码与其原码相同; 负数的反码是对其原码逐位取反,但符号位除外;即对其原码的绝对值取反,如 10001010的反码为11110101 补码 正数的补码与其原码相同;负数的补码是在其反码的末位加1。 byte jvm byte存储方式 Java中用补码表示二进制数,补码的最高位是符号位,最高位为“0”表示正数,最高位为“

  • 凯文
3 min read