linux查看cpu
查看系统 CPU 信息
cat /proc/cpuinfo
查看物理 CPU 的总个数
cat /proc/cpuinfo | grep "physical id" | uniq | wc -l
查看每个 CPU 的核数(逻辑 CPU 数量)
cat /proc/cpuinfo | grep "cpu core" | uniq
CPU 总核数 = 物理 CPU 个数 * 每个 CPU 的核数(逻辑 CPU数量)
查看逻辑 CPU 的个数
cat /proc/cpuinfo | grep "processor" | wc -l
逻辑 CPU 的总数 = 物理 CPU 个数 * 每个 CPU 的核数 * 超线程数
若逻辑 CPU 总数 = CPU 总核数,则代表没有开启超线程模式
至于进程和线程的关系,
为什么进程中的一个线程崩溃之后所有线程都会崩溃?
大部分情况下,其他线程并不会自己崩溃,而是操作系统检测到异常,会kill掉进程,其他线程就一起被干掉了。
小部分情况下,一个线程出错,破坏了进程中其他线程的内存,导致其他线程出现严重错误,被操作系统检测到,然后连同进程一起干掉。
至于为什么操作系统不是只杀出错的线程,而是杀进程,那是因为有第二种情况的存在,操作系统也无法知道谁是问题的始作俑者。
出现第二种情况的原因是,一个进程中所有线程都共享计算机资源,没有隔离。所以,对于操作系统来说,他们是不分你我的一个整体。

浙公网安备 33010602011771号