linux上ps命令详解 linux中ps命令的作用( 四 )


相信大家对netstat命令一定不陌生 , 此命令常用来检查活动的网络连接、接口统计分析以及路由表达式,netstat命令适用于所有的Linux发行版本,那如何用它来查看系统服务呢?命令如下:
netstat -pnltu
3、通过系统服务配置文件查看系统服务
服务配置文件是/etc/services,它是一个ASCII文件,包含了一系列的用户程序可能会用到的服务,在此文件中,包括服务名称、端口号及所使用的协议及一些别名,对于此文件 , 可使用任意文本工具进行查看,vim也可以:
vim /etc/services
4、查看systemd服务状态
在一些相对新的Linux系统上,有很多已经用systemd来代替init进程了 , 那在这种系统里,该如何查看系统服务呢?命令如下:
systemctl status service_name
比如,查看系统上的OpenSSH是否在运行,可以使用以下命令:
systemclt status sshd
5、早期、现如今版本的服务状态查看
现在依然有很多这样的系统,上面跑着SysV init进程 , 对于这种系统,查看服务状态的命令如下:
service service_name status
还是查看OpenSSH状态的例子,命令如下:
service sshd status
【进程&线程】关于bash: fork: Cannot allocate memory 问题的处理bashlinux上ps命令详解:fork:Cannot allocate memory 问题的处理
fork Cannot allocate memory
基本命令都显示无法分配内存错误 。
经排查linux上ps命令详解 , 发现系统正在使用所有内存进行缓存linux上ps命令详解 , 并且没有释放内存 。
这称为“缓存膨胀” , 通过清除缓存来解决 。
就linux上ps命令详解我的案例而言,操作系统是用尽了PID而不是内存 。
在我的场景中,根本原因是一个Java进程产生了18k +个线程(在Linux内核中,线程本质上是一个进程) 。
LWP -- 轻量级进程,即 线程
NLWP --线程数,即 number of threads in process
#ps -eo nlwp,pcpu,user,pid,ppid,args--sort nlwp
注:以 nlwp排序,默认正序
# man ps
Running any command returns “Cannot allocate memory” on Ubuntu Server
How does the OOM killer decide which process to kill first?
最全Linux ps命令详解
如何查看某进程下运行的线程
一个类似top查看每个人使用进程数的命令
Linux中查看进程的多线程
Linux下 netstat ps kill 命令详解及常用命令收集前言,phper 脱离 fpm 学习 swoole GO 时 经常会用一些进程管理命令 这里熟悉下
netstat 命令
Netstat 命令用于显示各种网络相关信息,如网络连接,路由表 , 接口状态 (Interface Statistics),masquerade 连接,多播成员 (Multicast Memberships) 等等 。
常见参数
-a (all) 显示所有选项,默认不显示 LISTEN 相关
-t (tcp) 仅显示 tcp 相关选项
-u (udp) 仅显示 udp 相关选项
-n 拒绝显示别名,能显示数字的全部转化成数字 。
-l 仅列出有在 Listen (监听) 的服务状态
-p 显示建立相关链接的程序名
-r 显示路由信息,路由表
-e 显示扩展信息,例如 uid 等
-s 按各个协议进行统计
-c 每隔一个固定时间,执行该 netstat 命令 。
提示:LISTEN 和 LISTENING 的状态只有用 - a 或者 - l 才能看到
常见命令
列出所有端口 (包括监听和未监听的)
netstat -a #列出所有端口
netstat -at #列出所有的tcp 端口
netstat -au #列出所有的udp 端口
列出所有处于监听状态的 Sockets
netstat -l #只显示在监听的端口
netstat -lt #只显示所有的在监听的tcp 端口
netstat -lu #只显示所有的在监听的udp 端口

推荐阅读