Linux 内存和进程管理

Linux的内存和进程的查看和windows的查看基本是一样的。


一、内存

Linux 内存是后台开发人员,需要深入了解的计算机资源。合理的使用内存,有助于提升机器的性能和稳定性

free命令

free:查看内存的使用情况 (默认单位是字节)
	选项:
		-m:以兆为单位进行显示
		-g:以吉字节为单位进行显示
[root@localhost ~]# free
              total        used        free      shared  buff/cache   available
Mem:        1863000      483584      980900       12764      398516     1207056
Swap:       2097148           0     2097148

Mem:内存信息
Swap:交换分区(由于现在内存的廉价,交换分区已经很少使用。现在以是历史的产物)

  • total:显示一共多少内存
  • used:显示使用多少内存
  • free:剩余多少内存
  • shared:共享内存占用的内存地址空间
  • buff/cache:缓存、缓存占用的内存地址空间
  • available:可用内存

主要是看available:可用内存

二、进程

即使我们不会编程,我们依然可以很容易的理解什么是进程。
例如windows里面的:任务管理器
在这里插入图片描述

top 命令

top:以动态形式展示进程的信息(每隔几秒刷新一次)

[root@localhost ~]#  top
top - 15:37:27 up  5:35,  2 users,  load average: 0.00, 0.01, 0.05
Tasks: 175 total,   1 running, 174 sleeping,   0 stopped,   0 zombie
%Cpu(s):  0.0 us,  0.3 sy,  0.0 ni, 99.7 id,  0.0 wa,  0.0 hi,  0.0 si,  0.0 st
KiB Mem :  1863000 total,   989336 free,   475176 used,   398488 buff/cache
KiB Swap:  2097148 total,  2097148 free,        0 used.  1215520 avail Mem 

   PID USER      PR  NI    VIRT    RES    SHR S %CPU %MEM     TIME+ COMMAND                   
     1 root      20   0  125732   4208   2604 S  0.0  0.2   0:01.33 systemd                   
     2 root      20   0       0      0      0 S  0.0  0.0   0:00.00 kthreadd                  
     4 root       0 -20       0      0      0 S  0.0  0.0   0:00.00 kworker/0:0H              
     6 root      20   0       0      0      0 S  0.0  0.0   0:00.38 ksoftirqd/0               
     7 root      rt   0       0      0      0 S  0.0  0.0   0:00.00 migration/0    

top头部信息信息说明:

第一行:
top - 15:37:27 up  5:35,  2 users,  load average: 0.00, 0.01, 0.05
当前时间 运行时间 当前2个用户登录系统 cpu在过去1分钟、5分钟、15分钟的负载
第二行:
Tasks: 175 total,   1 running, 174 sleeping,   0 stopped,   0 zombie
一共有175个进程 1个进程在运行 174个正在睡眠 停止状态的进程数量 僵死状态的进程数
第三行:
%Cpu(s):  0.0 us,  0.3 sy,  0.0 ni, 99.7 id,  0.0 wa,  0.0 hi,  0.0 si,  0.0 st
用户空间进程占用cpu比例 内核空间进程比例 调整nice值的进程的比例 cpu的空闲比例
0.0%wa cpu等待IO完成的时间比例(该值大,那么说明磁盘太慢,或者内存不足)
0.0%hi, 0.0%si, 0.0%st表示硬中断和软中断的比例 CPU被偷走的时间比例
第四行:
KiB Mem :  1863000 total,   989336 free,   475176 used,   398488 buff/cache
内存的总大小 空余的 使用的 缓冲/缓存的 
第五行:
KiB Swap:  2097148 total,  2097148 free,        0 used.  1215520 avail Mem
交换分区的总大小 空余的 使用的,                         这个是可用的内存(一行占不下) 

top详细信息说明:

   PID USER      PR  NI    VIRT    RES    SHR S %CPU %MEM     TIME+ COMMAND                   
     1 root      20   0  125732   4208   2604 S  0.0  0.2   0:01.33 systemd                   
     2 root      20   0       0      0      0 S  0.0  0.0   0:00.00 kthreadd                  
     4 root       0 -20       0      0      0 S  0.0  0.0   0:00.00 kworker/0:0H              
     6 root      20   0       0      0      0 S  0.0  0.0   0:00.38 ksoftirqd/0               
     7 root      rt   0       0      0      0 S  0.0  0.0   0:00.00 migration/0     
  • PID:进程ID
  • USER:该进程有那个用户发起
  • PR:进程优先级
  • NI:进程NI值
  • VIRT:虚拟内存及(可以清楚)
  • RES:常驻内存及(不可以清楚)
  • SHR:共享空间数据所占用的空间大小
  • S:进程的static状态
  • %CPU:进程所占cup的百分比
  • %MEM:进程所占内存的百分比
  • TIME+:该进程使用CPU时长
  • COMMAND:该进程是由那个命令发起的

平均负载

单核cpu的话:
1:表示当前是满负载
小于1:表示是还没有达到最大负载
大余1:表示已经超负载
双核cpu的话:
2:表示当前是满负载
小于2:表示是还没有达到最大负载
大余2:表示已经超负载

ps命令

ps:查看进程信息

ps aux
ps -elf
[root@localhost ~]# ps -elf
F S UID         PID   PPID  C PRI  NI ADDR SZ WCHAN  STIME TTY          TIME CMD
4 S root          1      0  0  80   0 - 31433 ep_pol 10:02 ?        00:00:01 /usr/lib/systemd/s
1 S root          2      0  0  80   0 -     0 kthrea 10:02 ?        00:00:00 [kthreadd]
1 S root          4      2  0  60 -20 -     0 worker 10:02 ?        00:00:00 [kworker/0:0H]
1 S root          6      2  0  80   0 -     0 smpboo 10:02 ?        00:00:00 [ksoftirqd/0]
1 S root          7      2  0 -40   - -     0 smpboo 10:02 ?        00:00:00 [migration/0]
1 S root          8      2  0  80   0 -     0 rcu_gp 10:02 ?        00:00:00 [rcu_bh]
1 R root          9      2  0  80   0 -     0 -      10:02 ?        00:00:00 [rcu_sched]
1 S root         10      2  0  60 -20 -     0 rescue 10:02 ?        00:00:00 [lru-add-drain]
5 S root         11      2  0 -40   - -     0 smpboo 10:02 ?        00:00:00 [watchdog/0]
  • F:进程的表示
  • S:进程的状态
  • UID:发起进程的用户
  • PID:进程的ID
  • PPID:进程的父进程的ID(每个进程都有其父进程)
  • SZ:进程占用的内存大小
  • TTY:表示进程是终端相关进程还是终端无关进程
    • ?:表示终端无关进程
    • tty1或者pts/0:表示终端相关进程
    • 终端相关进程:终端一旦关闭,进程就结束了。相反同理

两个文件

[root@localhost home]# cat /proc/meminfo
[root@localhost home]# cat /proc/cpuinfo

伪文件系统

/proc
/sys
特点:
1:伪文件不是真实的文件,是物理硬件设备的映射
2:伪文件是在系统开始的时候生成,在系统关机的时候自动删除
3:伪文件可以用cat进行查看,但是不能用vi进行编辑
4:伪文件都是保存在内存中的

结束进程

命令:kill

格式:kill 信号 进程id
信号:
	-9:立刻杀死进程
	-15:等待用户访问结束(断开连接),在杀死进程

案例:批量关闭httpd的进程
[root@localhost home]# kill -9 `ps -elf | grep httpd | grep -v "grep" | awk -F " " '{print $4}'`
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

海粟石子

生而为人

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值