> 技术文档 > linux系统卡死卡顿死锁问题场景c语言举例并分析

linux系统卡死卡顿死锁问题场景c语言举例并分析

C语言程序可能导致Linux系统卡死或卡顿的场景主要包括内存泄漏、死锁、CPU资源耗尽、硬件交互问题和文件I/O阻塞。

linux用户态问题场景分析

1,内存问题

查看进程内存使用情况,ps aux

cat /proc/pid/status以及其他内存相关信息

cat /proc/smaps

2,死锁/CPU资源耗尽

#include
#include

pthread_mutex_t mutex1 = PTHREAD_MUTEX_INITIALIZER;
pthread_mutex_t mutex2 = PTHREAD_MUTEX_INITIALIZER;

void* thread1(void* arg) {
pthread_mutex_lock(&mutex1);
printf(\"Thread1: Locked mutex1\\n\");
pthread_mutex_lock(&mutex2); // 等待mutex2
printf(\"Thread1: Locked mutex2\\n\");
pthread_mutex_unlock(&mutex2);
pthread_mutex_unlock(&mutex1);
r