自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(19)
  • 收藏
  • 关注

转载 2020-09-23

转自:http://www.firefoxbug.com/index.php/archives/2800/Linux对大部分申请内存的请求都回复”yes”,以便能跑更多更大的程序。因为申请内存后,并不会马上使用内存。这种技术叫做Overcommit。当内存不足时,会发生OOM killer(OOM=out-of-memory)。它会选择杀死一些进程(用户态进程,不是内核线程),以便释放内存。Overcommit和下面两个vm的配置有关系。vm.overcommit_ratio vm.ov

2020-09-23 15:59:39 121

转载 对 /dev/shm 认识

一、/dev/shm理论 /dev/shm/是linux下一个非常有用的目录,因为这个目录不在硬盘上,而是在内存里。因此在linux下,就不需要大费周折去建 ramdisk,直接使用/dev/shm/就可达到很好的优化效果。 /dev /shm/需要注意的一个是容量问题,在linux下,它默认最大为内存的一半大小,使用df -h命令可以看到。但它并不会真正的占用这块内存,如果/dev/shm/下没有任何文件,它占用的内存实际上就是0字节;如果它最大为1G,里头放有 100M文件,那剩余的9...

2020-09-23 15:44:40 11871 1

原创 解压initramfs

root@localhost:/home/liuyd/Workdir/initramfs# /usr/lib/dracut/skipcpioinitramfs-5.7.16-200.fc32.x86_64.img | zcat |cpio -divmroot@localhost:/home/liuyd/Workdir/initramfs# ls bin dev etc initinitramfs-5.7.16-200.fc32.x86_64.img lib lib64 proc roo.

2020-08-27 09:55:16 205

原创 Linux下主机挂载虚拟机磁盘文件

Use libguestfs使用guestmount,虚拟机最好是关机状态,否则只能以只读方式mountyum install libguestfs libguestfs-toolsguestmount -a xxx.qcow2 -i --rw mount_point (-a 指定qcow2, -d 指定虚拟机)guestumount mount_pointUse qemu-nbdNBD: Network Block Device 网络块设备可以将一个远程主机的磁盘空间当作一个块设备使用,

2020-08-26 15:58:10 520

转载 fork 与vfork 的异同

vfork 与fork异同总结前言调⽤fork或vfork函数是Linux创建⼀个新进程的⽅法.fork由fork创建的新进程被称为⼦进程(child process)。该函数被调⽤⼀次,但返回两次。两次返回的区别是⼦进程的返回值是0,⽽⽗进程的返回 值则是新⼦进程的进程ID。fork之后经常跟随着exec。作为替代,使⽤了在写时复制(...

2020-05-07 21:53:07 460

转载 system/WIFEXITED/WEXITSTATUS函数-linux

system原型: 参数是命令, 命令行里敲的shell命令。 通过fork创建子进程后,在子进程中调用execl 来执行唤起 shell 进程 从而执行shell命令。systerm两层含义:1、正确退出后。还需要再判断,操作成功或者操作失败。2、错误退出。SYSTEM(3) ...

2020-05-07 21:21:38 733

原创 fgets不读入换行符

#include <stdio.h>#include <string.h>char* s_gets(char* dest, int n){ char* ret_val = NULL; int i = 0; ret_val = fgets(dest, n, stdin); if (ret_val) { whi...

2020-04-16 22:00:56 8119

原创 shell 实现对比两个字符串并获得相似度

d=$(diff <(echo "$test1" |sed 's/./&\n/g') <(echo "$test2" |sed 's/./&\n/g') | grep -c '^[<>]')echo $((100-100*d/(${#test1}+${#test2})))%e.g.liuyd@inn:~$ test1="12345"liuy...

2019-12-19 14:42:40 1563

转载 挂在qcow2

https://www.wolfcstech.com/2017/10/31/qcow2_on_linux/

2019-12-16 17:19:44 109

转载 分页分段

作者:Oo鮭鮭魚链接:https://www.zhihu.com/question/50796850/answer/522734117来源:知乎著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。要理解分段和分页,那么得理解为什么会出现分段和分页的技术首先,这两个技术都是为了利用和管理好计算机的资源--内存。在分段这个技术还没有出现之前,程序运行是需要从内存中...

2019-08-15 17:07:20 383

原创 第二章内存寻址 (一)

PS:个人学习笔记,四处抄写,拼凑而成,轻喷~三种内存地址[1]:逻辑地址:包含在机器语言指令中用来指定一个操作数或一条指令的地址。在80x86中的分段结构中尤为具体,每一个逻辑地址都由一个段(segment)和偏移量(offset)组成,偏移量指明了从段开始的地方到实际地址的距离。这里的内存地址0x80495b0 就是一个逻辑地址,必须加上隐含的DS 数据段的基地址,才能构成线性地址。也...

2019-08-14 22:36:07 324

转载 TLB的作用及工作过程

转载自:https://www.cnblogs.com/alantu2018/p/9000777.htmlTLB的作用及工作过程以下内容摘自《步步惊芯——软核处理器内部设计分析》一书 页表一般都很大,并且存放在内存中,所以处理器引入MMU后,读取指令、数据需要访问两次内存:首先通过查询页表得到物理地址,然后访问该物理地址读取指令、数据。为了减少因为MMU导致的处理器性...

2019-07-01 14:36:26 5453

转载 高端内存和低端内存

我是看ldd3的第十五章(409页)时,对用户虚拟地址、物理地址、总线地址、内核逻辑地址、内核虚拟地址区分不了,才搜索资料的。找了几篇blog都没有把问题说清楚,下面这blog解释的还是不错的。一、高端内存和低端内存的划分Linux物理内存空间分为DMA内存区(DMAZone)、低端内存区(NormalZone)与高端内存区(HighmemZone)三...

2019-07-01 14:28:39 2309

转载 用户态/内核态 用户栈/内核栈

一、用户态和内核态 内核态和用户态是操作系统的两种运行级别,用于区分不同程序的不同权利。 内核态就是拥有资源多的状态,或者说访问资源多的状态,也称为特权态。相对来说,用户态就是非特权态,访问的而资源将受到限制。如果一个程序运行在特权态,该程序就可以访问计算机的任何资源,它的资源访问权限不受限制。如果一个程序运行在用户态,其资源需求将受到各种限制。如:要访问操作系统的内核数...

2019-04-16 14:13:31 461

转载 linux系统将设备分为3类:字符设备、块设备、网络设备

2019-04-01 21:18:50 3680

转载 基础流程

https://cloud.tencent.com/developer/article/1326758

2019-03-22 13:45:30 98

转载 关于vmlinux,vmlinuz,bzImage,zImage的区别和联系

vmlinuz是可引导的、压缩的内核。“vm”代表“Virtual Memory”。Linux 支持虚拟内存,不像老的操作系统比如DOS有640KB内存的限制。Linux能够使用硬盘空间作为虚拟内存,因此得名“vm”。vmlinuz是可执行的Linux内核,它位于/boot/vmlinuz,它一般是一个软链接。vmlinuz的建立有两种方式。一是编译内核时通过“make zImage”创...

2019-03-10 21:39:32 738

转载 内核启动流程及相关概念

整个过程基本可以分为POST-->BIOS-->MBR(GRUB)-->Kernel-->Init-->Runlevel。下面会详细说明每个过程的作用。BIOS  BIOS(Basic Input/Output System),基本输入输出系统,该系统存储于主板的ROM芯片上,计算机在开机时,会最先读取该系统,然后会有一个加电自检过程,这个过程其实就是...

2019-03-10 21:36:50 256

原创 hung_task_timeout_secs 导致测试panic

测试时遇到的kernel panickern :err : [ 616.222229] INFO: task mdadm:3234 blocked for more than 120 seconds.kern :err : [ 616.228548] Not tainted 5.0.0 #1kern :err : [ 616.229854] "echo...

2019-03-08 09:49:48 1237

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除