Welcome 微信登录

首页 / 操作系统 / Linux

几个常用的Linux命令

几个常用的Linux命令

看到一台电脑,首先会想了解其基本配置(如CPU、内存、磁盘空间),然后还能进行基本文件操作(如复制、移动、删除),还有一些权限管理基本设置,在此记录最基本的Linux命令,以供参考,对于命令的详解请参考帮助或其他文档。1、 查看磁盘空间 df、 du如:df -lhdf -hl 查看磁盘剩余空间 df -h 查看每个根路径的分区大小-T 打印文件系统类型。-h 以友好格式显示数值。-H 也是以友好方式显示数值,但1K是以1000计算的,而不是1024。-...
不要盲目增加ip_conntrack_max-理解Linux内核内存

不要盲目增加ip_conntrack_max-理解Linux内核内存

1.由ip_conntrack引出的Linux内存映射有很多文章在讨论关于ip_conntrack表爆满之后丢弃数据包的问题,对此研究深入一些的知道Linux有个内核参数ip_conntrack_max,在拥有较大内存的机器中默认65536,于是疯狂的增加这个参数,比如设置成10000…00,只要不报设置方面的错误,就一定要设置成最大值。这种方式实在是将软件看成大神了,殊不知软件的技术含量还不如锅炉呢! 如果考虑的再全面一些,比如经验丰富的程序员或者网管,...
Ubuntu 11.10下编译安装vim7.3&vimgdb

Ubuntu 11.10下编译安装vim7.3&vimgdb

最近一直在用vim编辑、gdb调试程序,看到网上有人直接在vim中调用gdb。于是google了一下,发现一种方法是给vim打patch,因此需要源码安装vim。搜到的第一篇文章是用vim7.2,但安装后vim无法启动,报内存错误。后来使用vim7.3和vimgdb-for-vim7.3成功使vim直接调用gdb。下面是安装步骤:下载vim-7.3和vimgdb-for-vim7.3的源码包。vim-7.3.tar.bz2http://www.vim.or...
Linux内核分析之缺页中断

Linux内核分析之缺页中断

Linux缺页异常程序必须能够区分由编程引起的异常以及由引用属于进程地址空间但还尚未分配物理页框的页所引起的异常。在x86-ia32体系上由do_page_fault函数处理,每个版本有所差异,现分析的版本为2.6.32/* regs:该结构包含当异常发生时的微处理器寄存器的值 3位的error_code,当异常发生时由控制单元压入栈中 -如果第0位被清0,则异常由访问一个不存在的页所 引起,否则,则异常由无效的访问权限所引起; -如果第1位被清0,表示异...
Linux内核之进程调度

Linux内核之进程调度

等待队列Sleep相关函数将进程的状态设置为非运行态,在下一次调度来时,将在schedule函数中将本进程从运行队列中移除。sleep函数将进程加入等待队列,然后调用schedule函数选择并重新开始另一个程序的执行。当调用wake_up类函数将进程唤醒时,wake_up类函数将进程加入运行队列中,调度程序重新从sleep函数中下一条没有执行的指令开始执行。sleep类函数都调用sleep_on_common函数实现,只是传入的参数有别。staticlon...
Linux中断延迟之tasklet

Linux中断延迟之tasklet

tasklet是I/O驱动程序中实现可延迟函数的首选方法。从下面的内核代码的分析中我们会看到,tasklet建立在两个叫做HI_SOFTIRQ和TASKLET_SOFTIRQ的软中断之上。几个tasklet可以与同一个软中断相关联,每个tasklet执行自己的函数。tasklet和高优先级的tasklet分别存放在tasklet_vec和tasklet_hi_vec数组中。下面我们结合具体的代码来了解他的实现和运用。tasklet的内核实现在start_k...
Linux内核分析之工作队列

Linux内核分析之工作队列

可延迟函数和工作队列非常相似,但是他们的区别还是很大的。主要区别在于:可延迟函数运行在中断上下文中,而工作队列中的函数运行在进程上下文中。在中断上下文中不可能发生进程切换。可延迟函数和工作队列中的函数都不能访问进程的用户态地址空间。涉及数据结构/**Theper-CPUworkqueue(ifsinglethread,wealwaysusethefirst*possiblecpu).*/structcpu_workqueue_struct{spinlock...
Linux内核分析之进程地址空间

Linux内核分析之进程地址空间

本文主要介绍linux内核中进程地址空间的数据结构描述,包括mm_struct/vm_area_struct。进程线性地址区间的分配流程,并对相应的源代码做了注释。内核中的函数以相当直接了当的方式获得动态内存。当给用户态进程分配内存时,情况完全不同了。进程对动态内存的请求被认为是不紧迫的,一般来说,内核总是尽量推迟给用户态进程分配内存。由于用户进程时不可信任的,因此,内核必须能随时准备捕获用户态进程引起的所有寻址错误。当用户态进程请求动态内存时,并没有获得...
Linux内核分析之软定时器笔记

Linux内核分析之软定时器笔记

定时器是一种软件功能,即允许在将来的某个时刻,函数在给定的时间间隔用完时被调用。超时表示与定时器相关的时间间隔已经用完的那个时刻。linux上考虑两种类型的定时器,即动态定时和间隔定时器。第一种类型由内核使用,而间隔定时器由进程在用户态创建。动态定时器动态定时的主要数据结构是一个叫做tvec_bases的per cpu变量,他包含NR_CPUS个元素,系统中每个CPU都有一个。每个元素是一个tvec_base_t类型的数据结构,他包含相应CPU中处理动态定...
<< 501 502 503 504 505 506 507 508 509 510 >>