MSIPO技术圈 首页 IT技术 查看内容

Linux初学(七)内存与进程管理、计划任务

2024-03-25

一、内存与进程

1.1 查看内存

命令:free -m                

选项:-m    以mb的显示

[root@localhost ~]# free -m
          total used free shared buff/cache available
Mem:      1819  200  1184   9        435       1426
Swap:     2047   0   2047    

Mem:显示的是内存的信息

  • total:内存的总大小
  • used:已使用的内存大小
  • free:剩余内存大小
  • shared:共享内存大小
  • buff/cache:缓存内存大小
  • available:可用的内存大小

Swap:显示交换分区的信息

1.2 进程

1.2.1 查看进程

命令:top

作用:动态方式显示系统的信息(每隔几秒刷新一次)

top - 20:17:36 up 1 day, 12 min, 6 users, load average: 0.00, 0.01, 0.05
Tasks: 113 total, 2 running, 111 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 : 1863004 total, 1211792 free, 205460 used, 445752 buff/cache
KiB Swap: 2097148 total, 2097148 free, 0 used. 1460164 avail Mem
PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
1 root 20 0 125608 4088 2612 S 0.0 0.2 0:15.19 systemd
2 root 20 0 0 0 0 S 0.0 0.0 0:00.01 kthreadd
    头部信息说明:
第一行: 
top - 20:17:36   up 1 day, 12 min,      6 users,        load average: 0.00, 0.01, 0.05
    当前时间        运行时间         当前6个用户登录系统   cpu在过去1分钟、5分钟、15分钟的负载

第二行:
Tasks: 113 total,     2 running,     111 sleeping,     0 stopped,       0 zombie
      一共有113个进程   2个进程在运行   111个正在睡眠    停止状态的进程    僵死状态的进程数

第三行:
%Cpu(s): 0.0 us,                 0.3 sy,             0.0 ni,                 99.7 id,     
        用户空间进程占用cpu比例    内核空间进程比例    调整nice值的进程的比例    cpu的空闲比例

0.0 wa,                                                         0.0 hi, 0.0 si,             
cpu等待IO完成的时间比例(该值大,那么说明磁盘太慢,或者内存不足)  表示硬中断和软中断的比例

0.0 st
cpu被偷走的时间比例

第四行:
KiB Mem : 1863004 total, 1211792 free, 205460 used, 445752 buff/cache
KiB Swap: 2097148 total, 2097148 free, 0 used. 1460164 avail Mem

正文信息说明
进程id  那个用户发起的    优先级 虚拟内存级 常驻内存级 共享空间所占大小   CPU百分比 内存百分比  运行时长 那个命令发起的
PID         USER         PR NI VIRT          RES        SHR           S %CPU     %MEM   TIME+   COMMAND  
1           root         20 0 125608         4088       2612          S  0.0      0.2  0:15.19   systemd
2           root         20 0    0            0         0             S  0.0      0.0  0:00.01   kthreadd  

平均负载:

单核cpu的话:

  • 1:表示当前是满负载
  • 小于1:表示还没有达到最大负载
  • 大于1:表示已经超负载

双核cpu的话:

  • 2:表示当前是满负载
  • 小于2:表示还没有达到最大负载
  • 大于2:表示已经超负载

1.2.2 显示所有进程的方法

命令:ps aux

           ps -elf

[root@localhost ~]# ps -elf
F S UID PID  PPID C  PRI  NI ADDR SZ WCH STIME     TTY   TIME         CMD
4 S root 1    0   0  80   0-    31402 ep_pol Mar19    ? 00:00:15  /usr/lib/systemd/systemd --switched-root --system --deserialize
1 S root 2    0   0  80   0-     0 kthrea Mar19       ? 00:00:00 [kthreadd]
1 S root 4    2   0  60   -20-   0 worker Mar19       ? 00:00:00 [kworker/0:0H]
1 S root 6    2   0  80   0-     0 smpboo Mar19       ? 00:00:00 [ksoftirqd/0]
1 S root 7    2   0 -40  - -     0 smpboo Mar19       ? 00:00:00 [migration/0]
1 S root 8    2   0  80   0-     0 rcu_gp Mar19       ? 00:00:00 [rcu_bh]
1 R root 9    2   0  80   0-     0 - Mar19            ? 00:00:04 [rcu_sched]
1 S root 10   2   0  60  -20-    0 rescue Mar19       ? 00:00:00 [lruadd-drain]
5 S root 11   2   0 -40  - -     0 smpboo Mar19       ? 00:00:00 [watchdog/0]

F:进程的标识

S:进程的状态

UID:发起进程的用户【运行这个程序的用户】

PID:进程的id

PPID:这个进程的父进程的ID

SZ:进程占用的内存大小

TTY:表示进程是终端相关进程还是无关进程

  • 终端相关进程:终端一旦关闭,进程就结束了

1.2.3 两个文件

/proc/meminfo

/proc/cpuinfo

伪文件系统

/proc

/sys


特点:

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

1.2.4 结束进程

命令:kill - 一定可用

格式:kill 信号 进程id

信号:

          -9:立刻杀死进程

          -15:等待用户访问结束以后,才杀死进程

案例:批量关闭httpd的进程

kill -9 `ps -elf | grep httpd | grep -v "grep" | awk -F " " '{print $4}'`

二、计划任务

2.1 简介

让Linux定时完成一个特定的操作

分类

  • 一次性计划任务
  • 周期性计划任务

2.2 at 计划任务

让某个时间节点,执行一个操作

格式:

         at now + 3 hours                表示3小时之后执行

         at now + 5 minute              表示5分钟后执行

安装at(有的版本默认已经安装,就无需再次安装)

yum install at -t

启动at

systemctl start atd

systemctl enable atd

systemctl status atd

案例:

1、创建一个计划任务,实现5分钟后自动创建一个文件,然后新建一个用户
 

[root@localhost home]# at now+5min
at> mkdir aaa
at> useradd bbbb
at> <EOT>
job 2 at Wed Mar 20 21:20:00 2024

注意:ctrl + d 保存退出
查看计划任务
at -l
at -c 编号
删除at任务
atrm 编号

2.3 周期性计划任务

可以周而复始的执行

安装组件(有的版本默认已经安装,就无需再次安装)

yum install crontabs

启动服务

systemctl start crond

systemctl enable crond

systemctl status crond

crontab的配置文件

/etc/croontab

创建计划任务

crontab -e

两部分

           时间:分钟 小时 日 月 周

           命令:

注意:周代表的是周几

查看计划任务

[root@localhost ~]# crontab -l
*/5 * * * * touch /home/aaa.txt        # 表示每5分钟执行一次
25 4 5 * * touch /home/bbb.txt         # 表示每月5号4点25分执行一次
13 7 1 10 * touch /home/ccc.txt        # 表示每年10月1号7点13分执行一次
*/3 * * * 5 touch /home/ddd.txt        # 表示每周五的那一天,每隔3分钟执行一次
3 7 * * 5 touch /home/eee.txt          # 表示每周五7点3分执行一次

删除计划任务

crontab -e 进入后删除

相关阅读

热门文章

    手机版|MSIPO技术圈 皖ICP备19022944号-2

    Copyright © 2024, msipo.com

    返回顶部