Linux 学习笔记之超详细基础linux命令 Part 14
by:授客 QQ:1033553122
---------------------------------接Part 13------------------------------
2.第二、三行为进程和CPU的信息
当有多个CPU时,这些内容可能会超过两行,内容如下
Tasks: 201
total
进程总数
2 running
正在运行的进程数
199 sleeping
睡眠的进程数
0 stopped
停止的进程数
0 zombie
僵尸进程数
Cpu(s):
3.5%us
用户空间占用cpu百分比
1.4%sy
内核空间占用cpu百分比
0.0%ni
用户进程空间内改变过优先级的进程占用CPU百分比
94.8%id
空闲CPU百分比
0.3%wa
等待输入输出的cpu时间百分比
0.0%hi
0.0%si
第四、第五行为内存信息
Mem:
3822456k total
物理内存总量=free+used
939888k used
使用的物理内存总量
2882568k free
空闲内存总量
162476k buffers
用作内核缓存的内存量
Swap:
4198392k total
交换区总量
0k used
使用的交换区总量
4198392k free
空闲交换区总量
423572k cached
缓存交换区总量,内存中的内容被换出到交换区,而后又被换入到内存,但是使用过的交换区未被覆盖。
后面的部分是进程信息
列名
含义
PID
进程id(Process Id)
PPID
父进程id(Parent Process
Id)
RUSER
进程所有者的真实用户名(Real user name)
UID
进程所有者的用户id(User Id)
USER
进程所有者的用户名(USER Name)
GROUP
进程所有者的组名(Group Name)
TTY
启动进程的终端名。而不是从终端启动的进程则显示为"?"
PR
进程优先级(Proirity)
NI
Nice值。负值表示高优先级,正值则表示低优先级
P
最后使用的CPU(Last used
CPU),仅在多CPU环境下有意义
%CPU
上次屏幕更新到现在的CPU时间占总的CPU时间的比.
TIME
进程使用的CPU时间总计,单位秒
TIME+
进程使用的CPU时间总计,单位1/100秒
%MEM
进程使用的物理内存百分比
VIRT
进程使用的虚拟内存(Virtual
Image)总量,单位kb.VIRT=SWAP+RES
SWAP
进程使用的虚拟内存中,被换出的大小,单位kb
RES
进程使用的,未被换出的物理内存大小,单位kb。RES=CODE+DATA
CODE
可执行代码占用的物理内存大小(Code
Size),单位kb
DATA
可执行代码以外的的部分(数据段+栈)占用的物理内存大小,单位kb
SHR
共享内存大小,单位kb
nFLT
页面错误次数(Page
Fault count)
nDRT
最后一次写入到现在,被修改过的页面数(Dirty Pages
count)
进程状态
D=不可中断的睡眠状态
R=运行
S
S=睡眠
T=跟踪/停止
Z=僵尸进程
进程状态
COMMAND
命令名/命令行
WCHAN
若该进程在睡眠,则显示睡眠中的系统函数
Flags
任务标志,参考sched.h
---------------------------------------------------------------------------
free命令
方法:free
[选项]
功能:显示内存和交换分区的相关信息
主要选项:
-m
以MB为单位显示,默认以KB为单位,类似还有-g,-k等(-g会向下取整),要精确的话还是默认方式好点
-t(total)
增加显示内存和交换分区的总和信息
-s(second)
秒数
指定动态显示时的刷新频率
例子:显示内存、缓存和交换分区的使用情况。
[laiyu@localhost ~]$
free
total
used
free
shared
buffers
cached
Mem:
3822456
574968
3247488
0
48324
300428
-/+
buffers/cache:
226216
3596240
Swap:
4198392
0
4198392
[debian下测试]
builder:~# free
-t
total
used
free
shared
buffers
cached
Mem:
4006772
3875180
131592
0
12508
2947012
-/+
buffers/cache:
915660
3091112
Swap:
30719996
134460
30585536
Total:
34726768
4009640
30717128
说明:
第一行>>
Mem:表示物理内存,针对操作系统来说
total:表示物理内存总量(total
= used + free)
used:
表示总计分配给缓存使用的数量 (缓存包含buffers+cached)
free:
表示未分配的内存
shared:
共享内存,一般系统不会用到
buffers:系统分配但未被使用的buffers数量。
cached:
系统分配但未被使用的cache数量。
第二行>> -/+
buffers/cache:表示物理内存的缓存统计,对应用程序来说
used2:也就是第一行的
used - buffers
- cached
也就是实际使用的内存总量。//此处used2为第二行的used,以下类推
free2:buffers1+cached1+free1,也就是说free2是未被使用的
buffers与cached和未被分配的内存之和,这就是系统当前实际可用内存
第三行>>
Swap硬盘上交换分区的使用情况
Buffers与cache的区别:
A buffer is something that
has yet to be "written" to disk.A cache is somthing that has been
"read" from the disk and stored for later use.也就是说buffer是指还没写进磁盘的缓冲区,cache是指从磁盘读取进内存,等待被用的部分。
对应用程序来说,buffers/cached等于是可用的,因为buffers/cached是为了提高读取的性能,而应用程序需再用到的时候,buffers/cached会很快的被回收。
从应用程序角度:可用内存=系统freeMem+buffers+cached
应用程序角度和操作系统角度考虑free命令
对操作系统来讲,buffers、cached都是属于被使用,所以它认为free只有131592,used
- buffers - cached -> 3875180 - 12508 - 2947012 =
915660就是当前真实使用的内存
对应用程序来讲是(-/+
buffers/cach).buffers/cached
是等同可用的,因为buffer/cached是为了提高程序执行的性能,当程序使用内存时,buffer/cached会很快地被使用。所以,以应用来看看,以(-/+
buffers/cache)的free2和Mem的used1为参考.
常识:
Linux为了提高磁盘和内存存取效率,
做了很多精心的设计,
除了对dentry进行缓存(用于
VFS,加速文件路径名到inode的转换),
还采取了两种主要Cache方式:Buffer
Cache和Page
Cache。
前者针对磁盘块的读写,后者针对文件inode的读写。这些Cache能有效缩短了I/O系统调用(比如read,write,getdents)的时间。记住内存是拿来用的,不是拿来看的,不像windows,无论你的真实物理内存有多少,它都要拿硬盘交换文件来读.这也就是windows为什么常常提示虚拟空间不足的原因.你们想想,在内存还有大部分的时候,拿出一部分硬盘空间来充当内存.硬盘怎么会快过内存.多无聊呀,所以看linux,只要不用swap的交换空间,就不用担心自己的内存太少.如果swap用得很多,可能你就要考虑加物理内存了.这也是linux看内存是否够用的标准哦.
网络基础
配置网络的Shell命令
hostname命令
方法:hostname
[主机名]
功能:查看或修改计算机的主机名
例子:查看当前计算机的主机名
[laiyu@localhost ~]$
hostname
localhost.localdomain
例子:将主机名设置为mylinux
[laiyu@localhost ~]$
hostname
localhost.localdomain
[laiyu@localhost ~]$
hostname mylinux
hostname: you must be root
to change the host name
[laiyu@localhost ~]$
su
Password:
[root@localhost laiyu]#
hostname mylinux
[root@localhost laiyu]#
hostname
mylinux
注意:hostname命令只能在本次运行中修改主机名,如果需要永久性修改主机名则要修改/etc/sysconfig/network文件,设置其中的hostname
[root@localhost laiyu]# cat
/etc/sysconfig/network
NETWORKING=yes
HOSTNAME=localhost.localdomain
ifconfig命令
方法:ifconfig
[网卡接口名]
[IP地址]
[netmask
子网掩码]
[up|down]
功能:查看网卡接口的配置情况,并可设置网卡的相关信参数,激活或停用网络接口
例子:查看网卡接口的配置情况
[laiyu@localhost ~]$
ifconfig
eth0
Link encap:Ethernet HWaddr
20:6A:8A:7E:65:A2
UP
BROADCAST MULTICAST MTU:1500 Metric:1
RX packets:0 errors:0 dropped:0 overruns:0 frame:0
TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:0 (0.0 b) TX bytes:0 (0.0
b)
Interrupt:19
lo
Link encap:Local Loopback
inet addr:127.0.0.1
Mask:255.0.0.0
inet6 addr: ::1/128 Scope:Host
UP LOOPBACK RUNNING MTU:16436 Metric:1
RX packets:16 errors:0 dropped:0 overruns:0 frame:0
TX packets:16 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:960 (960.0 b) TX bytes:960 (960.0
b)
注:使用ficonfig命令,不指定网络设备名,则查看当前所有处于活跃状态的网络接口的配置情况,其中一定包括本地回送接口lo。
输出项说明:
Link
encap表示网络接口的类型;
UP表示正在使用中
HWaddr称为MAC地址,表示网卡的物理硬件地址。
inet addr
表示网卡上设置的ip地址。
Bcast表示网络的广播地址
Mask表示网卡上设置的子网掩码。
RX行表示已接受的数据包信息。
TX行表示已发送的数据包的信息。
MTU
数据链路层的最大传送单元
Linux 学习笔记之超详细基础linux命令 Part 14的更多相关文章
- Linux 学习笔记之超详细基础linux命令(the end)
Linux学习笔记之超详细基础linux命令 by:授客 QQ:1033553122 ---------------------------------接Part 14---------------- ...
- Linux 学习笔记之超详细基础linux命令 Part 13
Linux学习笔记之超详细基础linux命令 by:授客 QQ:1033553122 ---------------------------------接Part 12---------------- ...
- Linux 学习笔记之超详细基础linux命令 Part 12
Linux学习笔记之超详细基础linux命令 by:授客 QQ:1033553122 ---------------------------------接Part 11---------------- ...
- Linux 学习笔记之超详细基础linux命令 Part 11
Linux学习笔记之超详细基础linux命令 by:授客 QQ:1033553122 ---------------------------------接Part 10---------------- ...
- Linux 学习笔记之超详细基础linux命令 Part 10
Linux学习笔记之超详细基础linux命令 by:授客 QQ:1033553122 ---------------------------------接Part 9----------------- ...
- Linux 学习笔记之超详细基础linux命令 Part 9
Linux学习笔记之超详细基础linux命令 by:授客 QQ:1033553122 ---------------------------------接Part 8----------------- ...
- Linux 学习笔记之超详细基础linux命令 Part 8
Linux学习笔记之超详细基础linux命令 by:授客 QQ:1033553122 ---------------------------------接Part 7----------------- ...
- Linux 学习笔记之超详细基础linux命令 Part 7
Linux学习笔记之超详细基础linux命令 by:授客 QQ:1033553122 ---------------------------------接Part 6----------------- ...
- Linux 学习笔记之超详细基础linux命令 Part 6
Linux学习笔记之超详细基础linux命令 by:授客 QQ:1033553122 ---------------------------------接Part 5----------------- ...
随机推荐
- HTML和CSS使用注意事项
HTML 1.button标签 在IE中,button标签默认的type是button,而在其他浏览器和W3C标准中button默认的属性都是submit. 所以,在一个form表单中,如果butto ...
- 我来谈谈PHP和JAVA在web开发上的的区别
这里的标题写的是谈谈PHP和JAVA的区别,其实是委婉的说法,其实别人是想听PHP好还是JAVA好!!! 从而从中找到存在感!!! 因为由于我是从多年的php开发转到java开发的.所以最,不时的有好 ...
- vue 自学笔记(七) 组件细节问题
前情提要: 这里盘点一下,组件细节的问题 现在我们观察一些用框架开发的网页BiliBili.掘金,会发现很多部分都十分相似或者一模一样,我们甚至可以将其拆分归类.而事实上,页面的确是被一个个组件构成的 ...
- python 变量进阶(理解)
变量进阶(理解) 目标 变量的引用 可变和不可变类型 局部变量和全局变量 01. 变量的引用 变量 和 数据 都是保存在 内存 中的 在 Python 中 函数 的 参数传递 以及 返回值 都是靠 引 ...
- Django项目中使用celery做异步任务
异步任务介绍 在写项目过程中经常会遇到一些耗时的任务, 比如:发送邮件.发送短信等等~.这些操作如果都同步执行耗时长对用户体验不友好,在这种情况下就可以把任务放在后台异步执行 celery就是用于处理 ...
- mongodb3.x主从配置及备份
本文将介绍下mongodb主从配置及备份 MongoDB 是一个基于分布式文件存储的数据库.由 C++ 语言编写.旨在为 WEB 应用提供可扩展的高性能数据存储解决方案. MongoDB 是一个介于关 ...
- 一些oracle的经验
注:再写存储过程的时候,在for循环里要写begin和end,这样就可以写exception ,让这条错误数据回滚,然后记录错误日志,commit 关键字: oracle 存储过程 1.基本结构 CR ...
- 高可用Hadoop平台-Oozie工作流
1.概述 在开发Hadoop的相关应用使用,在业务不复杂,任务不多的情况下,我们可以直接使用Crontab去完成相关应用的调度.今天给大家介绍的是统一管理各种调度任务的系统,下面为今天分享的内容目录: ...
- 获取C#中方法的执行时间及其代码注入
在优化C#代码或对比某些API的效率时,通常需要测试某个方法的运行时间,可以通过DateTime来统计指定方法的执行时间,也可以使用命名空间System.Diagnostics中封装了高精度计时器Qu ...
- Java并发编程笔记之ArrayBlockingQueue源码分析
JDK 中基于数组的阻塞队列 ArrayBlockingQueue 原理剖析,ArrayBlockingQueue 内部如何基于一把独占锁以及对应的两个条件变量实现出入队操作的线程安全? 首先我们先大 ...