리눅스
Posts
554 posts[리눅스] 커널 크래시: abort@test_and_set_bit
우선 콜스택부터 점검을 해보면, "kswapd0" 프로세스에서 slab cache를 scanning 하는 도중 커널 크래시가 발생하였음을 알 수 있습니다. 메모리가 부족한 상태로 보입니다. ("kswapd0" 프로세스는 page memory가 부족할 때 실행됩니다.)-000|do_DataAbort(addr = 3244789312, fsr = 3245415784, regs = 0xC1678E40)-001|__dabt_svc(asm) -->|exception-002|test_and_set_bit(asm) // <<**** kernel panic-003|bit_spin_lock(inline)-003|hlist_bl_lock(inline)-003|mb_cache_shrink_scan(?, ?)-0
[리눅스][유틸리티] rsync: 서버간 파일 복사
리눅스 서버 간 대용량 파일을 복사 받고하고 싶을 때가 있습니다.이럴 때 다음 명령어를 쓰면 됩니다. 제 계정이 bret.hart, 복사하고 싶은 리눅스 서버 계정이 hulk.hogan이라고 가정하겠습니다.여기서 hulk.hogan 계정 아이피 주소가 10.123.123.12:입니다. 여기서 주의해야 할 점은 다음 명령어를 입력하는 서버가 bret.hart 서버 터미널이란 점입니다. rsync -azuv -e ssh [email protected]:/home001/hulk.hogan/*/home001/bret.hart/ 위 명령어를 입력하면 10.123.123.12 IP 주소 리눅스 서버에 있는 hulk.hogan 서버 비밀번호를 입력하라는 메시지가 뜹니다.이 때 비밀번호를 입력하면 바로
리눅스 민트에서 NFS 서버 설정
리눅스 민트에서 NFS(Network File System, 네트워크 파일 시스템) 서버 설정 절차다. 리눅스 민트가 우분투 계열 배포판이므로, 데비안/우분투 계열 배포판은 다 비슷할 것이다. 우선 nfs-kernel-server 패키지를 설치하자. 터미널창에서 아래와 같이 작업 # S/W 저장소 정보 갱신 sudo apt-get update # nfs-kernel-server 설치 sudo apt-get install nfs-kernel-server NFS로 공유할 디렉토리를 만들자. 여기서는 /var/nfs_exports로 했다. 접근 권한은 별도로 설정하므로 디렉토리 권한은 모두 접근 가능한 777로 설정. # 디렉토리 생성(/var 디렉토리 하위이므로 root 권한 필요
[리눅스커널] 프로세스 상태: 언제 TASK_RUNNING 변경할까?
이번 시간에 프로세스를 RUNNING 상태로 누가 언제 변경하는지 알아봅시다. wake_up_new_task()[set_filter 가능 함수]wake_up_new_task() 함수는 _do_fork() 함수에서 프로세스를 생성하는 과정에서 호출됩니다. 코드를 봅시다.[https://elixir.bootlin.com/linux/v4.14.70/source/kernel/sched/core.c]1 void wake_up_new_task(struct task_struct *p)2 {3 struct rq_flags rf;4 struct rq *rq;56 raw_spin_lock_irqsave(&p->pi_lock, rf.flags);7 p->state = TASK_RUNNING; 7번째 줄

