自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 解决memory cgroup下无memsw.xx设置项

问题描述在cgroup中对内存进行管理,发现只有memory.xx设置项,没有memsw.xx解决方法这是内核不支持内存限制,需要对启动项进行更改vim /etc/default/grub..GRUB_CMDLINE_LINUX="cgroup_enable=memory swapaccount=1"..#更新update-grub#重启reboot再次查看 /sys/fs/cgroup/memory成功解决...

2021-01-07 18:47:33 543

原创 【Linux内核笔记】Cache 页高速缓存

文章目录cache缓存手段写缓存缓存回收缓存回收策略address_spaceaddress_space操作缓冲区高速缓存buffer回写操作cachecache用于实现磁盘缓存(缓存内存物理页面),减少对磁盘的IO操作。具体是通过把磁盘中的数据缓存到物理内存中,把对磁盘的访问变为对物理内存的访问。cache可以动态调整:通过占用空闲内存以扩张大小,也可以自我收缩以缓解内存使用压力。正被缓存的存储设备为后备存储。因为缓存背后的磁盘无疑才是所有缓存数据的归属。当内核开始一个读操作,首先会检查需要的

2020-12-28 16:19:12 437

原创 进程结构体tast_struct, sched_entity, 源码

3.16.0-43-generic #58~14.04.1-Ubuntu SMPstruct sched_entity { struct load_weight load; /* for load-balancing */ struct rb_node run_node; struct list_head group_node; unsigned int on_rq; u64 exec_start; u64 sum_exec_runtime; u64 vruntime;

2020-12-03 16:55:40 490

原创 Linux 内核笔记 cfs/rt进程调度,task_group组调度与cgroup

从cgroup的period 与runtime具体如何影响线程cpu使用问题来的,大佬写的不错,就不拾人牙慧了,上链接第一步 如果对进程调度不太清楚,先看进程调度浅析第二步 cfs调度器浅析补充,cfs调度总结第三步 进程组调度第四步 cgroup中cpu子系统...

2020-12-03 11:04:07 1440

原创 [Cgroup笔记]基础知识:子系统subsystems、层级hierarchies、任务tasks及它们之间的关系

文章目录简介子系统subsystems层级 hierarchies任务tasks使用方法实例1实例2简介​​​Cgroup 可​​​让​​​您​​​为​​​系​​​统​​​中​​​所​​​运​​​行​​​任​​​务​​​(进​​​程​​​)的​​​用​​​户​​​定​​​义​​​组​​​群​​​分​​​配​​​资​​​源​​​ – 比​​​如​​​ CPU 时​​​间​​​、​​​系​​​统​​​内​​​存​​​、​​​网​​​络​​​带​​​宽​​​或​​​者​​​这​​​些​​​资​​​源​​​的

2020-11-27 17:18:16 1071

原创 E558: Terminal entry not found in terminfo ‘screen.linux‘ not known.

问题terminal vim 文件之前会显示E558: Terminal entry not found in terminfo'screen.linux' not known. Available builtin terminals are: builtin_amiga builtin_beos-ansi builtin_ansi builtin_pcansi builtin_win32 builtin_vt320 builtin_vt52

2020-11-26 16:01:48 1107

原创 bash: Error: Could not find or load main class

问题在解决了root用户下java command not found问题后,使用bash调用java显示Could not find or load main class解决方法还是由于root用户的搜索路径与普通用户的差异。在调用java那行强制指定classpathJAVA_HOME=/usr/java/jdk1.8.0_211APP_HOME=/home/username/Documents/demo/#原命令 java Main 改为带完整classpath的 java -cp 并指

2020-11-26 10:58:38 354

原创 普通用户切换root 后 java: command not found解决方法

问题当初安装java是在用户态下安装的,在切换root用户时发现没有安装java提示安装,打印PATH无反映。问题应该是由于root态下文件搜索路径改变导致找不到jar包。网上搜了几个答案解决方案如下。解决方案编辑/etc/environment 网上说把当初设置/etc/profile的java环境变量写入这里,注意不要export 。由于当初乱该配置文件导致过系统崩溃,觉得还是不要动比较好。该方案没有采用。编辑/etc/sudoers 采用并成功。vi /etc/sudoers#在se

2020-11-26 10:39:59 2295 2

原创 【Linux内核笔记】Linux进程地址空间:内存描述符,虚拟内存区域

文章目录地址空间地址空间进程地址空间——进程可寻址的虚拟内存,内核允许进程使用该虚拟内存中的地址每个进程有32/64位的flat(独立的连续)地址空间内存区域(memory areas)——进程允许访问的虚拟内存的地址区间进程访问了不在有效范围内的内存区域,或不正确的访问方式访问了有效地址,内核会终止该进程,返回“段错误”信息 segment fault内存区域可以包含各种内存对象代码段 text section——可执行文件代码的内存映射数据段 data section——可执行文件

2020-11-20 16:42:45 624

原创 【Linux内核笔记】内核内存管理

文章目录页区获得释放低级页kmalloc()gfp_mask标志vmalloc()slab层在栈上静态分配高端内存的映射每个CPU数据总结:分配函数的选择页内核管理内存的基本单位每个物理页都由struct page表示,位于<linux/mm_types.h>。 假设每个结构体40byte, 物理页8KB, 4GB物理内存。则有2182^{18}218页,结构体占用20MB,并不大。struct page{ flags //页状态 _count//引用计数,-1当前内核没

2020-11-17 11:12:12 296

原创 2020京东917技术笔试-地图题(王子救公主)leecode-490

DFS思路:地图转化成01态,然后就是leecode 490地图题了,居然还是付费题import java.util.Scanner;public class jingdong2 { public boolean hasPath(int[][] maze, int[] start, int[] destination) { boolean[][] visited = new boolean[maze.length][maze[0].length];

2020-09-18 10:21:57 241

原创 【Linux内核笔记】中断、中断处理程序和下半部 概念简介

文章目录中断中断上下文中断处理程序中断处理下半部与下半部机制中断硬件在需要的时候向内核发出信号硬件 -电信号-> 中断控制器输入引脚 -中断号->处理器不考虑时钟同步(异常考虑时钟同步,处理方式和中断相似)中断上下文也称原子上下文,与进程无关。不可阻塞中断处理程序interrupt handler、interrupt service routine, ISR 是驱动程序的一部分Linux内核中是C函数驱动request_irq() 注册中断处理程序,激活中断线。包含参数:

2020-08-26 15:39:47 200

原创 [求助] linux编译内核模块 sched.h 找不到

本机/usr/include/sched.h存在,且是目标头文件GCC编译目录也包含这个路径#include "..." search starts here:#include <...> search starts here: /usr/lib/gcc/x86_64-linux-gnu/5/include /usr/local/include /usr/lib/gcc/x86_64-linux-gnu/5/include-fixed /usr/include/x86_64-lin

2020-06-19 16:39:36 2133 1

转载 使用Gparted扩充ubuntu根目录,无需启动U盘

https://blog.csdn.net/jx1605/article/details/80624599按照这位老哥给的思路,从sda1-> unallocated 逆行,把unallocated分给extend,extend再给sda1。

2020-06-16 21:09:50 700

原创 并发缺陷探测技术的白盒方法-总结

文章目录目标对象探测技术分类技术方法1. 定义事件event2. 定义执行轨迹的规范3. 建立约束4. 约束求解5.收集原子违背6. 结果总结本文为并发缺陷的确定性复现-以线程为研究中心的总结以 Efficient transaction-based deterministic replay for multi-threaded programs 文章提出的TPLAY工具 和基于约束求解的并发程序错误预测方法研究 硕士论文ASVDetector工具 举例专有名词定义在 【并发理论】事件、执行轨迹、可

2020-05-27 18:10:27 511

原创 Linux内核 make: *** /lib/modules/4.xxxx-generic/build: 没有那个文件或目录.

问题背景:hook 系统调用 在加载模块时error. 原因应该是内核4.X版本太高,内核代码有更改。降级系统后发现没有3.16 -generic 目录遇到这个错误,主要是没安装内核安装包(类似于kernel-devel的名字)但是这种情况下一般有两种情况:有安装内核开发包,但是因为各种各样的原因没有识别。 首先到/lib/modules/4.4.0-53-generic/(这里的版本号需...

2020-03-12 13:57:42 10686

原创 【实战笔记】Java 算法与数据结构-排序(选择、插入、冒泡、希尔、归并、快速、堆)

文章目录基础排序算法O(n^2)选择排序插入排序及优化冒泡排序及优化希尔排序及优化高级排序算法O(nlogn)归并排序及优化快速排序及优化堆和栈排序二分搜索树树形问题并查集图最小生成树Prim算法及其优化最短路径Dijkstra与Bellman-Ford本文为慕课网实战课程《算法与数据结构》学习笔记基础排序算法O(n^2)选择排序在剩下未排序的数里选择最小的排序i向前,j在i+1...

2020-03-02 00:31:14 322

原创 【并发理论】事件、执行轨迹、可行性公理、最大因果模型

文章目录事件执行轨迹内容来自— 背景 —任意线程都能通过执行一组原子操作来访问并发对象;若对某些并发对象进行访问的原子操作序列能由并发程序的执行产生,则表明这些原子操作序列满足了规定的顺序要求。这些顺序要求被称为并发对象的序列化规范(serial specification) 序列化规范是顺序要求,是并发程序对并发对象访问产生的原子操作序列顺序。并发对象多为两种:共享内存地址:对共享...

2020-02-19 23:07:03 446

原创 【Linux内核笔记】内核数据结构

文章目录链表Linux内核中的实现Linux内核链表操作队列FIFO队列操作映射映射UID操作二叉树二叉搜索树BST自平衡二叉树红黑树rbtree算法复杂度大O符号时间复杂度总结数据结构以及选择本笔记不详细讲述数据结构。链表链表是一种存放和操作可变数量元素(常称为节点)的数据结构无须在内存中占用连续内存区,是Linux内核中最简单、最普通的数据结构链表有单向链表、双向链表、环形链表、环...

2020-02-16 18:47:35 651

原创 Ubuntu装机软件 【持续更新】

文章目录pythonjavavscodegitvi 编辑 无法删除 上下键失灵sogou inputpythonsudo apt-get install python3.5sudo apt-get install python3-pipsudo update-alternatives —install /usr/bin/python python /usr/bin/python3 150...

2020-02-05 22:47:54 161

原创 VMware虚拟机无鼠标、鼠标无反应

bg: mac主机,Linux16.04虚拟机 该虚拟机从parallel转移到VMware。问题1:键盘可使用,鼠标消失可登录,进入系统鼠标出现,等待侧边栏出现后鼠标消失,点击无反应。其他答案说在苹果的设置辅助功能设置VMware我设置了,无效。以及关闭桌面日历软件,无效。解决方法: 安装VMware tools由于光盘软件只有只读权限,需要把tar.gz文件复制到其他路径cd /...

2020-01-28 01:46:04 13238

原创 【悲惨世界】我是如何重装第6个Ubuntu系统的

大写加粗,玩Linux能不用Mac就不用Mac一血 这锅得Mac背最初一切安好,平安顺遂,2019年那是一个春天,在我mbp2016 13寸的小本子升级了OS 13.3某一安全更新后,parallel的Ubuntu16.04再也进不去了。键盘乱码(这个键盘粘连问题,Mac本来就有,现在我的a和u经常粘连)无法在tty进入系统。忍痛删除,重装试试二血重装当然问题依旧,没办法,只能用别人的Wi...

2020-01-16 14:28:25 1859 2

原创 【已解决】Ubuntu安装vscode 打开界面空白

ubuntu 16.04 在vs官网下载.deb 或者tar.gz包打开都是空白界面暗中拖vscode侧边栏拉出来可以看到是有icon的。估计里面是好的,就是显示不出来。有没有大佬知道救命!...

2020-01-16 11:39:33 7678 12

原创 【Linux内核笔记】系统调用

与内核通信用户空间-syscall-硬件设备统一接口、稳定安全、易于管理API、POSIX和C库POSIX是接口标准接口提供机制mechanism而不是策略policy系统调用通常负的返回值表明错误,0正常。系统调用把错误情况写入errno全局变量。perror()函数翻译为可理解的错误字符串asmlinkage long sys_callxx()编译指令,仅从栈中提取函数参数。...

2020-01-15 15:25:47 335

原创 【Linux内核笔记】进程调度

文章目录进程调度原理进程优先级Linux调度算法Unix系统中的进程调度公平调度Linux调度的实现时间记账进程选择调度器入口睡眠和唤醒抢占和上下文切换用户抢占内核抢占实时调度策略与调度有关的系统调用与调度策略和优先级相关的系统调用与处理器绑定有关的系统调度放弃处理器时间进程调度原理进程调度程序:分配有限处理器时间资源抢占式多任务 preemptive multitaskingLinux ...

2020-01-15 15:24:03 560

原创 【Linux 内核笔记】进程管理

clone()-fork()-exec()-exit() 子进程结束ZOMBIE 父进程wait4()进程描述符 task_struct进程所有信息 由thread_info分配。为了提高current宏找进程描述符的速度,方便使用偏移量计算进程描述符进程状态TASK_RUNNINGTASK_INTERRUPTIBLETASK_UNINTERRUPTIBLETASK_ZOMBI...

2020-01-15 15:21:50 406

原创 【OnJava8笔记】static关键字

https://github.com/LingCoder/OnJava8/blob/master/docs/book/03-Objects-Everywhere.md类是对象的外观及行为方式的描述。通常只有在使用 new 创建那个类的对象后,数据存储空间才被分配,对象的方法才能供外界调用。这种方式在两种情况下是不足的。有时你只想为特定字段(注:也称为属性、域)分配一个共享存储空间,而不去考...

2019-12-19 20:31:25 216

原创 线程状态对应汇总(BASH ps命令、Linux内核 、Java jdk线程状态)

ps 命令ps -lUID/PID/PPID:代表『此进程被该 UID 所拥有/进程的 PID 号/此进程的父进程 PID 』F:代表这个进程旗标 (process flags),说明这个进程的权限,常见有:若4 表示此进程的权限 root ;若1 則表示此子进程仅能fork。S:代表这个进程的状态 (STAT),主要的状态有:R (Running):该进程正在运行;S (Sl...

2019-12-05 20:37:06 454

转载 Linux系统调用表(64位)

系统调用号函数名入口点源代码0readsys_readfs/read_write.c1writesys_writefs/read_write.c2opensys_openfs/open.c3closesys_closefs/open.c4statsys_newstatfs/s...

2019-11-29 18:00:45 4034

转载 Linux操作系统bash命令列表

alias Create an alias • apropos Search Help manual pages (man -k) apt-get Search for and install software packages (Debian/Ubuntu) aptitude Search for and install software packages (Debia...

2019-11-28 16:44:11 1003

原创 并发与并行的区别

来自《操作系统教程》(第五版)第一章 操作系统概论并发并发性(concurrency) 是指两个或两个以上的活动或事件在同一时间间隔内发生。并行并行性(parallelism) 是指两个或两个以上的活动或事件在同一时刻发生。区别在单CPU系统中,多个程序并发执行是宏观上的概念,微观上,它们是顺序执行的。在多CPU系统中,并发性不仅体现在宏观上,而且体现在微观上,这称为并行...

2019-11-06 16:57:17 281

原创 python3 PDF转TXT文本,全角转半角

偷懒,想把PDF的参考文献爬下来转文本。首先安装依赖pip install pdfminer3k# -*- coding:utf-8import sysimport importlibimportlib.reload(sys)from pdfminer.pdfparser import PDFParser,PDFDocumentfrom pdfminer.pdfinterp imp...

2019-11-04 19:34:40 460

原创 Happens-before、Sequentially consistent

Happens-before粗暴的来说,data race发生在冲突访问没有happens-before 的地方When a program contains two conflicting accesses (§17.4.1) that are not ordered by a happens-before relationship, it is said to contain a dat...

2019-10-30 16:58:54 219

原创 【并发缺陷】data race数据竞争、atomicity violation原子违背、order violation顺序违背

三类均是跟共享变量的内存访问有关的缺陷。对于并发缺陷的分类目前国内许多是分死锁、数据竞争、原子违背、顺序违背。或者在并发缺陷中又细分 concurrency vulnerability :死锁和数据竞争。感觉各个作者有自己的分类方法????以下引用的中文解释来自<并发缺陷暴露、检测与规避研究综述>哈工大的苏小红老师实验室发表在2015年计算机学报上目前找到外文文献分为7类。其他四类...

2019-10-25 15:52:32 1316

原创 【Java 并发】线程join() 和 yield()

看了一遍thinking in java 没懂,看了中文版Java高并发的书才了解。我跪着来学习了joinThread 的join和sleep一样是一个可中断的方法,如果有其他线程执行了对当前线程的interrupt操作,也会捕获到中断信号,并擦除线程的interrupt标识,Thread的API提供了3种不同的join方法。1. public final void join() throw...

2019-10-24 22:06:54 242

原创 Mutation Testing/Analysis 突变测试

突变(mutation),即基因突变。在遗传学(genetics)上,指的是器官、病毒或者染色体外的其他遗传成分基因的核酸(nucleotide)序列发生改变。基因突变多发生在DNA复制期间。可能的诱发因素是辐射,外伤,病毒,或者空气污染、危险食物带来的有害化学物质的影响,也可能是无从索迹的任何其它原因。突变测试(mutation testing) , 或称作突变分析、程序突变,它是用于衡量软件...

2019-10-24 09:52:07 3091

原创 听说今天写博客有徽章

节日快乐

2019-10-24 09:14:00 164 2

原创 死锁(Deadlock)、活锁(LiveLock)、饥饿(Starvation)、挂起(Suspension)

最近在做并发缺陷的分类,发现不同学者对缺陷分类粒度不同,现对其中几个概念重述,欢迎交流!本文以书面文字为准,附上说明来源。若希望简单易懂的举例,请移步死锁,活锁和饥饿死锁1971年,Coffman总结系统产生死锁必定同时保持如下4个必要条件。互斥条件(mutual exclusion):临界资源是独占资源,进程应互斥且排他地使用这些资源。占有和等待条件(hold and wait):...

2019-10-22 16:11:21 3427

原创 Python 从文件读数据,固定行数截取数据,画箱型图

问题描述:实验数据以log形式导出,之前用Java写了一个简单的分析处理,Java IO:读取文件特定行,将结果输出控制台以及以追加形式写到文件中但是为了能够直接画图,决定用Python重写一个。Talk is cheap , show me the codeimport numpy as npimport matplotlib.pyplot as plt#load datalog...

2019-10-21 10:50:12 700

原创 Java IO:读取文件特定行,将结果输出控制台以及以追加形式写到文件中

问题描述:近期写bug的时候需要对实验的数据从XXX.log 输入到程序,进行简单的操作后输出到YYY.log文件。要求输入文件,读取/截取特定行,进行计算,输出到控制台以及文件。import java.io.*;import java.util.ArrayList;import java.util.List;public class logInput {//输入文件 publ...

2019-10-10 16:09:04 443

空空如也

空空如也

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

TA关注的人

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