正文
查询线程的linux命令 linux查询当前线程
小程序:扫一扫查出行
【扫一扫了解最新限行尾号】
复制小程序
【扫一扫了解最新限行尾号】
复制小程序
怎么用linux命令查看jvm进程有几个线程
在LINUX上可以使用kill -3 pid thread.info来取得当前JVM线程查询线程的linux命令的信息;
jstack 这个是用来查看jvm当前查询线程的linux命令的thread dump查询线程的linux命令的。可以看到当前Jvm里面查询线程的linux命令的线程状况。
这个对于查找blocked线程比较有意义;
Linux下查看某个进程创建了多少线程
$ ps -mp PID
例如查看mysqld进程中的线程
$ ps aux | grep mysqld
mysql 3496 0.7 51.7 4249652 2089140 ? Sl Dec05 10:42 /usr/sbin/mysqld --basedir=/usr --datadir=/var/lib/data --plugin-dir=/usr/lib64/mysql/plugin --user=mysql --log-error=/var/lib/data/gk-compiler.err --pid-file=/var/lib/data/gk-compiler.pid --socket=/var/lib/mysql/mysql.sock --port=3306
从输出结果可看出mysqld的PID是3496,继续执行如下命令
$ ps -mp 3496
PID TTY TIME CMD
3496 ? 00:10:42 mysqld
- - 00:00:00 -
- - 00:00:00 -
- - 00:00:00 -
- - 00:00:00 -
- - 00:00:00 -
- - 00:00:00 -
- - 00:00:00 -
- - 00:00:00 -
- - 00:00:00 -
- - 00:00:00 -
- - 00:00:00 -
- - 00:00:00 -
- - 00:00:00 -
- - 00:00:00 -
- - 00:00:33 -
- - 00:00:00 -
- - 00:02:18 -
- - 00:01:42 -
- - 00:02:09 -
- - 00:01:48 -
- - 00:02:05 -
输出的信息中“3496 ? 00:10:42 mysqld”这一行下面的都是该进程内的线程
linux怎么查看线程
1查看物理cpu个数 grep 'physical id' /proc/cpuinfo | sort -u 2查看核心数量 grep 'core id' /proc/cpuinfo | sort -u | wc -l 3查看线程数 grep 'processor' /proc/cpuinfo | sort -u | wc -l 英特尔最新推出了第六代酷睿产品
Linux 怎么查看进程中线程的名字
ps命令用于查看系统中的进程状态,格式为:“ps [参数]”,同样搭配的参数如下:
当您第一次执行这个命令时估计要惊呆下,这么多输出值怎么看的过来?其实平常我们会将ps命令与管道符来结合使用,用于来抓取到某个指定服务进程所对应的PID号码,而常见的ps命令参数包括有:
参数 作用
-a 显示所有的进程(包括其他用户的)
-u 用户以及其他详细信息
-x 显示没有控制终端的进程
Linux最大线程数限制及当前线程数查询
查看系统允许的最大线程数:
Linux无法直接控制单个进程可拥有的线程数,但有参考公式max = VM/stack_size,默认stack为8k,可通过降低stack大小或增加虚拟内存来调大每个进程可拥有的最大线程数;
对于支持多线程的程序如Java,有可能会遇到一个进程无法创建更多线程的情形,其原因多种多样,而OS端可能由此参数造成.
查看系统允许的最大进程数:
ulimit -a 显示当前所有的资源限制
root用户下执行 ulimit -a 然后查看 max user processes 这个值通常是系统最大线程数的一半:/proc/sys/kernel/threads-max/2
普通用户下 ulimit -u 出现的max user processes的值 默认是 /etc/security/limits.d/20-nproc.conf(centos6 是90-nproc.conf) 文件中的
普通用户默认是1024
打开/etc/security/limits.conf (部分的系统是在/etc/security/limits.d/90-nproc.conf)
设置限制数量,第一列表示用户,* 表示所有用户
soft nproc :单个用户可用的最大进程数量(超过会警告);
hard nproc:单个用户可用的最大进程数量(超过会报错);
soft nofile :可打开的文件描述符的最大数(超过会警告);
hard nofile :可打开的文件描述符的最大数(超过会报错);
重启后生效
reboot
查询当前某程序的线程数
pstree -p 进程号 | wc -l
管道符号"|"左边命令的输出作为右边命令的输入
直接修改/etc/security/limits.conf 文件中的 * soft nproc 65535 值后,普通用户最大进程数无法达到65535 ,因为用户的max user processes的值,最后是受全局的kernel.pid_max的值限制。也就是说kernel.pid_max=1024 ,那么你用户的max user processes的值是127426 ,用户能打开的最大进程数还是1024。
永久修改系统最高进程数的方法
在/etc/sysctl.conf中添加kernel.pid_max = 65535
vim /etc/sysctl.conf
kernel.pid_max = 65535
或者:
echo "kernel.pid_max = 65535" /etc/sysctl.conf
然后重启机器。
临时修改的方法:
echo 65535 /proc/sys/kernel/pid_max
所以以上都操作完成后,才算是正确修改了max user processes 的值
Linux 平台如何查看某个进程的线程数?
1。 使用top命令查询线程的linux命令,具体用法是 top -H 加上这个选项,top查询线程的linux命令的每一行就不是显示一个进程,而是一个线程。 2。 使用ps命令,具体用法是 ps -xH 这样可以查看所有存在的线程,也可以使用grep作进一步的过滤。 3。 使用ps命令,具体用法是 ps -mq PID 这样可以看到指定的进程产生的线程数目。 更进一步,其实一些系统监控工具,在本质上也是读取的系统产生的文件罢了。比如说进程这个事情, 看看这个目录吧,/proc/5000/ 这里面有查询线程的linux命令你所有想要的。其实stat代表着当前的一些信息。 使用ps命令来查看进程的时候,进程状态分别对应的含义如下: D 不可中断睡眠 (通常是在IO操作) 收到信号不唤醒和不可运行, 进程必须等待直到有中断发生 R 正在运行或可运行(在运行队列排队中) S 可中断睡眠 (休眠中, 受阻, 在等待某个条件的形成或接受到信号) T 已停止的 进程收到SIGSTOP, SIGSTP, SIGTIN, SIGTOU信号后停止运行 W 正在换页(2.6.内核之前有效) X 死进程 (未开启) Z 僵尸进程 进程已终止, 但进程描述符存在, 直到父进程调用wait4()系统调用后释放BSD风格的 高优先级(not nice to other users) N 低优先级(nice to other users) L 页面锁定在内存(实时和定制的IO) s 一个信息头 l 多线程(使用 CLONE_THREAD,像NPTL的pthreads的那样) + 在前台进程组
关于查询线程的linux命令和linux查询当前线程的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。