Core 파일 생성 방법

OS/Linux 2013. 1. 10. 09:47 Posted by 이정식

1. /etc/security/limits.conf 수정

* soft core -1
* hard core -1

-1 은 unlimited 뜻함.

2. /etc/profile 수정
#ulimit -S -c 0 > /dev/null 2>&1 ; 변경 전
ulimit -S -c unlimited > /dev/null 2>&1 ; 변경 후

3. reboot

#### 자세한 설명 ###
초기 설정에는 core file size가 0으로 설정이 되어있어, core file이 생성이 되지 않는다.
따라서 core dump시 core file이 생성되게 하려면 다음과 같이 설정값을 수정해야 한다.

ulimit 설정 값 변경은 위의 현재 설정값에서 나온 옵션을 써주고 값을 써주면 된다.

[root@devlinux ~]# ulimit -c unlimited
[root@devlinux ~]# ulimit -a
core file size (blocks, -c) unlimited
data seg size (kbytes, -d) unlimited
scheduling priority (-e) 0
file size (blocks, -f) unlimited
pending signals (-i) 98304
max locked memory (kbytes, -l) 32
max memory size (kbytes, -m) unlimited
open files (-n) 1024
pipe size (512 bytes, -p) 8
POSIX message queues (bytes, -q) 819200
real-time priority (-r) 0
stack size (kbytes, -s) 10240
cpu time (seconds, -t) unlimited
max user processes (-u) 98304
virtual memory (kbytes, -v) unlimited
file locks (-x) unlimited

위와 같은 명령으로 변경한 것은 해당 user만 변경되어 적용이 되며, reboot 후에는 다시 설정을 해야한다.
위의 설정을 reboot 후에도 유지되게 하기 위해선 아래의 파일 수정이 필요하다.


/etc/security/limits.conf


위 파일에는 ulimit값을 적용할 domain, type, item, value가 들어가게 되어있다.
입력 형식은 다음과 같다.


<domain> <type> <item> <value>
< domain> 해당 설정값을 적용시킬 범위
- user name (userid) - 한 유저의 설정 변경
- group name (@groupid) - 한 그룹에 대한 설정 변경
- wildcard (*) - 모든 유저, 그룹에 대한 설정 변경
- wildcard (%) - * 와 동일, 단 maxlogins 변경에만 사용

<type>
- hard : superuser와 kernel에 의해 설정이 되게 하며, user는 설정된 값 이상으로 변경이 불가능하다.
- soft : soft로 설정한 값은 user가 얼마든지 설정값을 변경 가능하다.
- - : hard와 soft 둘다 설정

<item>
- core : limits the core file size (KB)
- data : maximum data size (KB)
- fsize : maximum filesize (KB)
- memlock : maximum locked-in-memory address space (KB)
- nofile : maximum number of open files
- rss : maximum resident set size (KB) (Ignored in Linux 2.4.30 and higher)
- stack : maximum stack size (KB)
- cpu : maximum CPU time (minutes)
- nproc : maximum number of processes
- as : address space limit
- maxlogins : maximum number of logins for this user
- maxsyslogins : maximum number of logins on system
- priority : the priority to run user process with (negative values boost process priority)
- locks : maximum locked files (Linux 2.4 and higher)
- sigpending : maximum number of pending signals (Linux 2.6 and higher)
- msqueue : maximum memory used by POSIX message queues (bytes) (Linux 2.6 and higher)
- nice : maximum nice priority allowed to raise to (Linux 2.6.12 and higher)
- rtprio : maximum realtime priority allowed for non-privileged processes (Linux 2.6.12 and higher)

example) core dump file size를 변경

astrix - core 1000
@group1 - core unlimited
* - core 200000

이 설정을 변경 하였는데도 불구하고, reboot 시 적용이 안된다면 /etc/profile 파일을 살펴보자!!

...

# No core files by default
ulimit -S -c 0 > /dev/null 2>&1
...


위 빨간 글자로 된 부분을 주석처리 해버리고 reboot하면 적용 된다.

'OS > Linux' 카테고리의 다른 글

SUDO 제한 방법  (0) 2013.01.10
Python 설치(easy install)  (0) 2013.01.10
커널 파라미터 설정 정보  (0) 2013.01.10
커널 패닉 시 자동 리부팅 설정  (0) 2013.01.10
메모리 누수 확인 방법  (0) 2013.01.10

보호되어 있는 글입니다.
내용을 보시려면 비밀번호를 입력하세요.

커널 패닉 시 자동 리부팅 설정

OS/Linux 2013. 1. 10. 09:42 Posted by 이정식

시스템에서 커널 패닉 발생시 수동으로 리부팅을 해야 하지만 자동으로 리부팅 되게 하려면
다음과 같이 적용한다.

echo 10 > /proc/sys/kernel/panic
; kernel panic 발생시 10초 후 자동으로 리부팅이 된다.
; default는 0

'OS > Linux' 카테고리의 다른 글

Core 파일 생성 방법  (0) 2013.01.10
커널 파라미터 설정 정보  (0) 2013.01.10
메모리 누수 확인 방법  (0) 2013.01.10
defunct 프로세스 한번에 종료 하기  (0) 2013.01.10
Source RPM 설치  (0) 2013.01.10

메모리 누수 확인 방법

OS/Linux 2013. 1. 10. 09:39 Posted by 이정식

메모리 누수를 발견하는 방법
1. 프로세스의 스레드 스택 수를 계산한다. 실행중인 활성 스레드와 종료된 스레드의 수가 포함된다
pmap PID | grep pid번호 | wc -l

2. 프로세스의 실행중인 활성 스레드 수를 계산한다
스레드가 작성될때마다 /proc/PID/task 에 한 항목이 추가된다.
결합이던 분리된 스레드이건 상관없이 /proc/PID/task 에서 해당 항목이 제거되므로
다음과 같이 스레드 수를 확인할수 있다
ls /proc/PID/task | wc -l

3. 스택과 활성화된 스레드 수를 비교하여 문제점을 파악한다.
기존 스레드 스택수가 실행중인 활성 스레드 수보다 크고 프로그램이 계속 실행되는 동안 이러한 두 수의 차이가 커지면 메모리 누구가 발생하고 있는것이다

4. 예방할수 있는 방법은
결합 가능한 스레드를 작성할때 pthread_join()을 호출함을 잊지 말아야한다.

보호되어 있는 글입니다.
내용을 보시려면 비밀번호를 입력하세요.

Source RPM 설치

OS/Linux 2013. 1. 10. 09:19 Posted by 이정식

 

1. Install the source RPM package.
# rpm -ivh e1000e-<version>.src.rpm

2. Build the binary RPM for the e1000e driver.
# cd /usr/src/redhat
# rpmbuild -bb SPECS/e1000e.spec

3. Install the new RPM package
# rpm -ivh RPMS/<arch>/e1000e-<version>.<arch>.rpm

The e1000e.ko module is installed in the following directory:

Red Hat EL 4/5
/lib/modules/<kernel_version>/kernel/drivers/net

'OS > Linux' 카테고리의 다른 글

메모리 누수 확인 방법  (0) 2013.01.10
defunct 프로세스 한번에 종료 하기  (0) 2013.01.10
tail 로 특정 문자 모니터링 쉽게 하는 방법  (0) 2013.01.09
Kickstart 맛보기 동영상...  (2) 2013.01.09
GMT 표준 시간 설정  (0) 2013.01.07

보호되어 있는 글입니다.
내용을 보시려면 비밀번호를 입력하세요.

보호되어 있는 글입니다.
내용을 보시려면 비밀번호를 입력하세요.

Windows SNMP설정

OS/Windows 2013. 1. 9. 05:14 Posted by 이준희

 

아래 사용 된 OS는 Windows 2008 Strandard 32bit 입니다.

 

  1. SNMP 설치

#제어판>프로그램 및 기능

 

    ㅇ Windows 기능 사용/사용 안함 Click!

 

    #서버관리자

ㅇ 위 화면에서 기능 왼쪽 탭에 기능을 선택 후 기능 추가 를 Click!

 

# 기능 추가 마법사

    ㅇ 위 그림 처럼 SNMP 서비스 체크 후 다음(N) 을 눌러주면 설치가 진행이 된다.


              2. SNMP 서비스 설정

# 서비스

실행에서 Services.msc 입력

    ㅇ 서비스 메뉴 중 SNMP Service 우 클릭 후 속성을 Click!

 

    # SNMP Service 속성(로컬 컴퓨터)

 

    ㅇ 속성을 보시면 나오는 메뉴중 보안 탭을 Click!

    ㅇ 보안 탭에서 커뮤니티 값IP를 추가 해준다.

 

    # SNMP커뮤니티 추가

    ㅇ 위 그림 처럼 커뮤니티 권한을 설정 해주고 이름을 지정해 주면 되는데

    여기서 주의 할 것은 public 은 SNMP 커뮤니티 관련 Default 값 으로 보안상 취약할수 있으니

    다른 이름을 지정해주는 것이 좋다.

 

    # Windows 방화벽 설정

    ㅇ SNMP설정이 끝났으면 방화벽에서 SNMP 관련 포트를 허용 해줘야 한다.

    위 그림 처럼 SNMP Service 예외 적용 시켜주면 된다.

    Ps : SNMP Service라는 프로그램이 안보일경우 포트 추가로 추가해주면된다.

    참고로 SNMP 기본 포트는 UDP 161이다.

'OS > Windows' 카테고리의 다른 글

IIS Trace off 방법  (0) 2013.01.10
IIS http 405 error 원인 및 조치  (0) 2013.01.10
윈도우 시스템의 성능 모니터링  (0) 2013.01.04
NTP Server 및 Client 설정(2014-03-21수정)  (0) 2013.01.01
윈도우 7/8 Tip 한개  (0) 2012.12.28

GMT 표준 시간 설정

OS/Linux 2013. 1. 7. 18:06 Posted by 이정식

시스템 로그를 점검하다보면 os의 시간은 맞는데 로그에 찍힌 시간이 현재 시간과 다르게 표기되어서 경력자들도

종종 오해하는 경우가 있는데 원인은 GMT 에 의한 것으로 오류가 아니며, 정확한 시간을 확인하고자 할 경우

로그가 발생한 시간에 +9 를 해주면 됩니다.

 

한국 표준 시간으로 변경하고자 할 경우에는 localtime 파일을 덮어 씌워 주면 됩니다.
 
# cp /usr/share/zoneinfo/Asia/Seoul /etc/localtime

 

 

국제 표준 시(Greenwich Mean Time)에 대한 용어 검색 결과는 아래와 같습니다.

그리니치 천문대는 천문항해술 연구의 목적으로 찰스 2세가 1675년 런던 교외의 그리니치에 설립한 세계적인 천문대. 1884년 워싱턴회의는 이 천문대를 지나는 자오선을 본초자오선으로 지정하여, 경도(經度)의 원점으로 삼았다.

1925년 이전의 그리니치시는 정오(正午)를 0시로 하여 시간을 재기 시작하는 방식의 천문학용 평균태양시의 명칭이었다. 이에 반해 일상생활에서는 자정을 0시로 하여 시간을 재는 방식이 사용되었으며, 이것을 그리니치상용시(GCT)라고 하였다. 

1925년 1월 1일 국제천문연합에서는 그리니치시를 12시간 앞당겨 그리니치 상용시와 일치시켰으며, 이를 '세계시(世界時 : UT)'라고 하여 전세계 공통의 표준시로 사용하였다. 한국의 표준시는 세계시보다 9시간 앞서있다.

'OS > Linux' 카테고리의 다른 글

tail 로 특정 문자 모니터링 쉽게 하는 방법  (0) 2013.01.09
Kickstart 맛보기 동영상...  (2) 2013.01.09
php 소스 암호화 하기  (0) 2013.01.07
Cron 설정(작업 자동화)  (0) 2013.01.02
리눅스 시간 동기화 2가지 방법  (0) 2013.01.02