进程锁 linux,Linux ps查看进程状态及进程***锁问题的查看

通常我们通过

ps aux | grep [pthread]

查看特定进程[pthread]的状态信息;

在Linux中,可能状态如下:

D    不可中断     Uninterruptible sleep (usually IO)

R    正在运行,或在队列中的进程

S    处于休眠状态

T    停止或被追踪

Z    僵尸进程

W    进入内存交换(从内核2.6开始无效)

X    死掉的进程

<    高优先级

N    低优先级

L    有些页被锁进内存

s    包含子进程

+    位于后台的进程组

l    多线程,克隆线程

例如:

USERPID%CPU%MEMVSZRSS TTY STAT START TIME COMMAND

tss 20629 1.1 0.0 94732 1660 pts/1 Sl+ 18:03 0:08 /usr/local/sbin/tcsd -f

USER: 行程拥有者

PID: pid%CPU: 占用的 CPU 使用率%MEM: 占用的记忆体使用率VSZ: 占用的虚拟记忆体大小RSS: 占用的记忆体大小TTY: 终端的次要装置号码 (minor device number of tty)STAT: 该行程的状态:START: 行程开始时间TIME: 执行的时间COMMAND:所执行的指令

Linux下查看某个进程的线程数量1.根据进程号进行查询:# pstree -p 进程号# top -Hp 进程号2.根据进程名字进行查询:# pstree -p `ps -e | grep server | awk '{print $1}'`# pstree -p `ps -e | grep server | awk '{print $1}'` | wc -l

Linux死锁问题使用 pstack 和 gdb 工具对死锁程序进行分析pstack 进程号 查看各个线程的堆栈信息当进程吊死的时候,多次使用,死锁的线程将一直处于等锁的状态,确定某些线程一直没有变化,一直处于等锁的状态。那么这些线程很可能是死锁了。如果怀疑哪些线程发生死锁了,可以采用gdb 进一步attach线程并进行分析。执行命令 gdb attach 9368(进程号) 进入gdb调试终端运行:(gdb) info thread

获取锁和释放锁的位置前后分别添加日志输出,从而判断释放是死锁的问题;

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值