【Linux】拓展:运维面试题,进程管理常见的7大问题

目录

一、如何判断一个程序是单线程还是多线程

二、僵尸进程是什么,有什么危害,如何解决

三、如何找回删掉的文件

四、删除文件以后,空间不释放

五、遇到一个病毒(如死循环病毒),解决思路

六、机器开机前几天很正常,过了几天很卡顿,怎么解决?

七、oom内存不足怎么解决?


一、如何判断一个程序是单线程还是多线程

++思路,判断一个进程是单线程还是多线程,原理应该是查看进程配置文件/proc/进程pid/status++

*++**1、查看/proc/进程pid/status:*cat /proc/pid/status |grep -i threads++

*++**2、使用prtstat命令:*prtstat pid号|grep -i threads++

*++**3、采用pstree 命令树查看:*pstree -p|grep 进程名称++

二、僵尸进程是什么,有什么危害,如何解决

++僵尸进程是因为子进程结束的时候,父进程并不知情(父进程被暂停了),导致父进程并没有收回资源,消耗了cpu;++

++***危害:*僵尸进程实际没有工作,却占用资源++

++*解决:*要么干掉父进程(kill -9++ ++),要么恢复父进程状态(kill -18)++

三、如何找回删掉的文件

++思路:有一个文件存在,不小心删除了,我们可以想到lsof命令,列出进程中的所有文件,包含删除的文件,++

++1、可以通过这个命令找到文件删除的进程pid号;++

++2、根据pid找到/proc/pid号/fd 文件夹++

++3、查看下,这里有可能有误删文件,能不能恢复看命++

四、删除文件以后,空间不释放

++思路:现在要清理磁盘空间,发现文件并不释放,说明大概率这个文件有人正在使用++

++解决办法:1、给一个空字符,释放空间 ;2、强杀kill -9++

方法一:给个空字符

方法二:kill -9

五、遇到一个病毒(如死循环病毒),解决思路

++思路:病毒之所以危害是消耗我们cpu的资源,++

++1、先用ps aux k -%cpu 先找到消耗我们cpu资源的进程pid号,判断出哪个是病毒,病毒的pid是多少++

++2、然后使用进入/proc/pid号/这个目录中,可以查看是否有exe的执行文件,是个软连接++

++3、使用ll了解这个病毒的源程序++

++4、然后将源删掉,模拟创建一个同名文件++

++5、给这个文件加上一个权限,限定只能访问不能覆盖等,超级管理员都不能改++

六、机器开机前几天很正常,过了几天很卡顿,怎么解决?

说明内存的缓存空间需要清理

复制代码
[root@localhost 27813]#echo 3 > /proc/sys/vm/drop_caches 

七、oom内存不足怎么解决?

关于oom,out of memory,内存不足,在java程序中比较常见。系统会选一个进程将之杀死,在日志messages中看到类似下面的提示

Jul 10 10:20:30 kernel: Out of memory: Kill process 9527 (java) score 88 or sacrifice child


++思路:1、要么是本身就内存空间不足;2、要么是代码有bug,存在僵尸进程,消耗内存资源;++

++解决办法:++

*++**清理缓存:*使用free 、 top 监控内存的缓存空间,并使用echo 3 > /proc/sys/vm/drop_caches 清理缓存,监控内存空间变化;++

++可能存在僵尸进程:++ ++使用命令ps aux |grep Z |grep -v grep,再++ ++使用kill -9 强制清退进程++

相关推荐
殷忆枫20 分钟前
告别依赖地狱!在 Ubuntu 上用 Docker 极速部署 Home Assistant 与 MQTT,并接入 Siri 与嵌入式 C 终端
linux·ubuntu·docker
第404号工位27 分钟前
手机到底有没有偷听我们?我抓包了 72 小时,抓到了真凶
linux·人工智能·架构
老李IT笔记31 分钟前
连不上不一定是网不好:新系统不认的服务端配置卡在哪一档
运维·服务器·网络
字节跳动开源32 分钟前
ByteDance 2026 上半年 Linux 内核贡献回顾
linux·开源
小此方1 小时前
Linux网络(二十八):从NAT转换到正反向代理:图解内网通信、NAPT端口映射
linux·运维·网络
刚入门的大一新生1 小时前
Linux-进程池
linux·运维·服务器
数据库小学妹1 小时前
数据库运维五级成熟度:监控、备份、高可用怎么串起来
运维·数据库·监控
AliCloudROS2 小时前
从 1 万到 20 万:OOS Loop 任务规模提升 20 倍的攻坚记录
运维·性能优化
鱼很腾apoc2 小时前
【MySQL】第4期 用户管理与 C 语言连接编程详解
linux·服务器·c语言·mysql·connector/c
千桐科技2 小时前
qModel算法模型平台功能解析:从源码到 Docker 镜像,部署能自动完成哪些工作?
运维·docker·容器·qmodel