2-7·系统资源
来源:互联网 发布:明星一年真实收入知乎 编辑:程序博客网 时间:2024/06/03 15:13
一·工作管理
1)把进程放入后台
jobs //查看后台运行
[命令] & //后台状态为运行
ctrl+z //后台状态为暂停
例:
①tar -zcf etc.tar.gz /etc & #在命令后加个&,把命令放在后台执行②top #ctrl+z放在后台暂停
我们不建议把与用户交互的命令放入后台,因为默认就stopped了
2)查看后台的工作
jobs [-l] //-l:显示工作的PID
+代表最后一个放入的进程-代表倒二个放入的进程
3)fg %工作号 #把后台暂停的工作回复到前台执行
fg %1 //把后台第一个任务放入前台运行
这里的百分号是代表工作号,也是为了区分进程ID号,命令的格式!这是规定!
4)bg %工作号 #把后台暂停的工作回复到后台执行
bg %1
注1:%要注意工作号和PID的区别
注2:后台恢复执行的命令,是不能和前台有交互的,否则不能恢复到后台执行
top、vi之类放在后台也是暂停的
因为一个需要用户来查看进程健康状态,一个需要用户写入压缩、解压缩、cp、mv、find之类可以放在后台
所以,想要让这个命令在后台运行,首先,不能与用户有交互。其次,它要运行一段时间
5)命令后台脱离终端
很多人苦恼~把命令放入后台执行,只能在当前登录的终端执行,一旦用户退出当前终端
后台程序就会停止
相当于:后台执行的命令和当前终端绑定了
当用户logout时,会向该用户终端下所有 进程发送SIGHUP信号
(守护进程damon进程开机运行,某一个用户退出终端不影响该程序的运行)
我们要如何解决问题呢?
后台命令脱离登陆终端执行的方法(不随登陆终端的退出而终止)
・第一种方法:把需要后台执行的命令加入/etc/rc.local文件(开机自动执行)
・第二种方法:使用系统定时任务,让系统在指定的时间执行某个后台命令
・第三种方法:使用nohup命令
6)nohup
nohup [命令] &
例
nohup /root/for.sh & //用绝对路径
注意我们一般在别处引用命令的时候,都要写绝对路径,如果不写,则会以默认sh的方式去查询,很多第三方命令系统都是没有的所以会造成运行失败!
二·系统资源查看
1)1.vmstat命令监控系统资源
可以检查(memory swap system io cpu等)
vmstat [刷新延时 刷新次数]
例:
vmstat 1 3
显示效果
procs -----------memory---------- ---swap-- -----io---- -system-- ------cpu----- r b swpd free buff cache si so bi bo in cs us sy id wa st 1 0 0 136240 76980 578620 0 0 14 3 46 78 0 0 99 0 0
2)2.dmesg开机时内核检测信息(内核态)
dmesg | grep cpu
显示效果
[ 0.000000] Initializing cgroup subsys cpuset[ 0.000000] Initializing cgroup subsys cpu[ 0.000000] Initializing cgroup subsys cpuacct[ 0.000000] x86 PAT enabled: cpu 0, old 0x7040600070406, new 0x7010600070106[ 0.000000] kvm-clock: cpu 0, msr 0:3ff75001, primary cpu clock[ 5.261839] setup_percpu: NR_CPUS:5120 nr_cpumask_bits:32 nr_cpu_ids:32 nr_node_ids:1[ 5.261843] PERCPU: Embedded 28 pages/cpu @ffff88003e200000 s82752 r8192 d23744 u131072[ 5.261847] pcpu-alloc: s82752 r8192 d23744 u131072 alloc=1*2097152[ 5.261851] pcpu-alloc: [0] 00 01 02 03 04 05 06 07 08 09 10 11 12 13 14 15 [ 5.261855] pcpu-alloc: [0] 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 [ 5.261949] RCU restricting CPUs from NR_CPUS=5120 to nr_cpu_ids=32.[ 5.271778] NMI watchdog: disabled (cpu0): hardware events not enabled[ 5.283133] kvm-clock: cpu 1, msr 0:3ff75041, secondary cpu clock[ 6.030927] cpuidle: using governor menu
这里一般能看cpu的一些参数
3)3.free命令查看内存使用状态
free [-m][-g]
-m :以MB为单位显示
-g :以GB为单位显示(不满1g时显示精度丢失)
显示效果(以MB为单位)
total used free shared buff/cache availableMem: 989 216 130 6 643 554Swap: 2527 0 2527
一般我们可以用来检查服务器的内存与缓存
4)查看cpu信息
cat/proc/cpuinfo
cat /proc/meminfo
这是两个文件,在安装系统时生成的,里面详细的写了cpu、内存的详细参数
5)5.uptime与w命令
uptimew
显示系统的系统时间,平均负载,当前登录用户数,即top命令的第一行(top命令耗费资源)
w命令侧重用户信息的显示,显示了终端号ip,平均负载等
显示效果
uptime
16:44:01 up 6:22, 2 users, load average: 0.00, 0.01, 0.05
w
16:44:29 up 6:23, 2 users, load average: 0.00, 0.01, 0.05USER TTY FROM LOGIN@ IDLE JCPU PCPU WHATroot pts/0 172.25.0.2 五22 5.00s 0.18s 0.02s w
6)查看系统与内核相关信息
uname [选项]
选项:
-a :查看系统所有相关信息
-r :查看内核版本
-s :查看内核名称
小技巧:如何判断系统是32位还是64位
file:查看文件信息file /bin/ls
检查反馈结果是否有64-bit字样
注:64位cpu仍可以安装32位系统,不能通过cpu位数来判断
7)7.查看发行版信息
cat /etc/redhat-release
查看发行版信息
显示效果:Red Hat Enterprise Linux Server release 7.1 (Maipo)
8)列出进程打开或使用的文件信息
lsof [选项] //列出进程调用或打开的文件信息
选项:
-c 字符串 :只列出以字符串开头的进程打开文件
-u 用户名 :只列出某个用户的进程打开的文件
-p pid : 列出某个pid进程打开的文件
示例:
lsof | more //查询所有进程-分屏显示
lsof /sbin/init //查询/sbin/init文件被哪个文件调用(只能查系统文件,其他自己建立的文件查没有意义)
lsof -c httpd //查看httpd进程调用了哪个文件
lsof -u root //按照用户名,查询某用户的进程所调用的文件名(数量可能很多)
这条命令用处很大,自行脑补生产!
- 2-7·系统资源
- 查看系统资源命令2
- 系统资源
- 系统资源
- 系统资源
- Jmeter3.2监控系统资源问题
- Unix系统资源管理(2)-管理CPU使用
- 分布式系统资源
- 什么是系统资源
- 系统资源详解
- 监控系统资源
- 系统资源观察
- 查看系统资源
- 系统资源查看
- 系统资源管理工具
- Android系统资源
- 探讨游戏服务器压力的三座大山——数据库、网络以及系统资源(2)
- SWT系统资源的管理
- c++需要注意unsigned与signed区别
- Selenium 元素定位 CSS and XPath
- springboot 依赖管理
- DllImport属性
- toString()方法
- 2-7·系统资源
- RNN实践一:LSTM实现MNIST数字分类
- php递归树
- one result (or null) to be returned by selectOne(), but found
- 如何添加、编辑PDF的文字与图片
- Andrew Ng机器学习笔记week6 机器学习的应用与设计
- win8 win10 安装mysql.msi 提示2502、2503的错误代码
- Android 自定义AlertDialog退出对话框
- composer安装