Linux 검색 결과

55개 발견
  1. 미리보기
    2018.06.05 - mr.november11

    [Linux] Network Ring Buffer Size 설정하기

  2. 미리보기
    2018.05.30 - mr.november11

    [Linux]Jumbo Frame 설정 및 확인

  3. 미리보기
    2016.12.28 - mr.november11

    Linux 에서 특정 이름을 가진 프로세스 종료 명령어

  4. 미리보기
    2016.12.25 - mr.november11

    mysql 명령어로 원격 cafe24의 mysql DB접속하기

  5. 미리보기
    2016.11.24 - mr.november11

    Linux 에서 Crash 명령어를 사용하여 vmcore 분석하기

  6. 미리보기
    2015.11.03 - mr.november11

    CentOS 에서 dig 명령어 실패 시

  7. 미리보기
    2015.10.31 - mr.november11

    php에서 ssh2 함수 사용 시 세팅 방법

  8. 미리보기
    2015.10.25 - mr.november11

    ftp 접속 시 226 Transfer done (but failed to open directory). 에러 발생

[Linux] Network Ring Buffer Size 설정하기

2018. 6. 5. 21:24 - mr.november11

Network Ring Buffer Size 설정하기 

 

Ring Buffer는 네트워크 카드의 버퍼 공간이다. 

 

 

스위치에서 서버로 전달된 패킷은

    - 1차로 네트워크 카드 내 Ring Buffer 에 보관되며

    - 2차로 커널의 Socket RCV Buffer 로 이동한다.

이후에는 User Application의 read 함수를 통해 전달 된다.

 

이러한 이유로  Kernel의 Socket RCV Buffer가 여유가 있더라도

Ring Buffer Size가 작다면 중간 병목(bottleneck)이 발생할 수 있다. 

 

그렇기 때문에 Ring Buffer는 가능하다면 Maximum 값으로 설정해주는 것이 권장된다. 

 

Linux 상에서 NIC의 Ring Buffer(Current, Maximum) 값은 ethtool -g 명령어를 통해 확인 가능하다.

 

아래 interface의 경우 최대 값이 4,096이지만 현재 설정 값은 2,048이다.

[root@server~]# ethtool -g eth2 Ring parameters for eth2: Pre-set maximums: RX:		4096 RX Mini:	0 RX Jumbo:	0 TX:		4096 Current hardware settings: RX:		2048 RX Mini:	0 RX Jumbo:	0 TX:		2048    

'해당 명령어는 ethtool -G 명령어를 통해 설정 가능하다.

ethtool -G eth2 rx 4096 ethtool -G eth2 tx 4096 

 

대부분의 Linux 설정과 같이 명령어는 현재 메모리 상의 값을 변경하기 때문에 재부팅 시에는 이전 값으로 원복된다.

영구적으로 변경하기 위해서는 Network script 내 해당 Interface에 관련 설정 값을 추가해주는 것이 필요하다.

아래와 같이 스크립트 파일 내 ETHTOOL_OPTS 를 추가한 후 해당 설정 값을 입력하면 된다. 

ETHTOOL_OPTS="-G ${DEVICE} rx 4096 ; -G {$DEVICE} tx 4096"

(rx/tx의 최대 값을 확인 후 작성 필요) 

 

[root@server~]# cat /etc/sysconfig/network-scripts/ifcfg-eth2 DEVICE=eth2 ONBOOT=yes USERCTL=no NM_CONTROLLED=no BOOTPROTO=static MASTER=bond0 SLAVE=yes ETHTOOL_OPTS="-G ${DEVICE} rx 4096 ; -G ${DEVICE} tx 4096"

 

다른 카테고리의 글 목록

Linux 카테고리의 포스트를 톺아봅니다

[Linux]Jumbo Frame 설정 및 확인

2018. 5. 30. 13:23 - mr.november11

1. Jumbo Frame 설정 

       - Jumbo Frame을 사용하고자 하는 양단의 서버, 중간 네트워크 장비에서 모두 MTU Size를 9,000으로 맞춰줘야함

       - Cisco ACI는 Default 9,000임 

- MTU Size를 9,000으로 설정

- ifcfg-ethX, bondX 에 MTU=9000 을 추가 


echo "MTU=9000" >> ifcfg-ethX
echo "MTU=9000" >> ifcfg-bond


2. Ping Test로 Jumbo Frame  테스트 

-s packetsize

                Specifies the number of data bytes to be sent.  

The default is 56, which translates into 64 ICMP data bytes when combined with the 8 bytes of ICMP header data.

-M pmtudisc_opt
Select Path MTU Discovery strategy.  pmtudisc_option may be either do (prohibit fragmentation, even local one), 
want (do PMTU discovery, fragment locally when packet size is large), or dont (do not set DF flag).


ping -M do -s 8972 <IP_ADDRESS> 

다른 카테고리의 글 목록

Linux 카테고리의 포스트를 톺아봅니다

Linux 에서 특정 이름을 가진 프로세스 종료 명령어

ps -ef | grep *프로세스이름 | grep -v grep | awk '{print $2}' | xargs kill -9


다른 카테고리의 글 목록

Linux 카테고리의 포스트를 톺아봅니다

mysql 명령어로 원격 cafe24의 mysql DB접속하기

2016. 12. 25. 16:21 - mr.november11

1. cafe24에 원격으로 mysql 접속을 하려면 우선 관리자 설정으로 허용 IP를 추가해야 한다. 

   


2. 원격지 서버에서 mysql -h <cafe24 홈페이지 주소> -u <계정이름> -p  실행 후 패스워드 인증 성공 시 아래와 같이 로그인에 성공한다. 


[aws]$ mysql -h <host_IP addr.> -u <ID> -p

Enter password:

Welcome to the MariaDB monitor.  Commands end with ; or \g.

Your MariaDB connection id is 398853

Server version: 10.1.13-MariaDB MariaDB Server


Copyright (c) 2000, 2016, Oracle, MariaDB Corporation Ab and others.


Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.


MariaDB [(none)]> Ctrl-C -- exit!

Aborted

다른 카테고리의 글 목록

Linux 카테고리의 포스트를 톺아봅니다

1. vmcore 분석을 위한 debug kernel 설치

yum install --enablerepo=rhel-debuginfo crash kernel-debuginfo

-> kernel-debuginfo 는 debug 분석을 위한 관련 파일을 다운받을 수 있는 repository 역할을 한다.


2.  debuginfo-install을 사용하여 분석을 위한 kernel debug 설치

debuginfo-install kernel-$(uname -r)


-> $(uname -r) 로 현재 버전에 맞는 kernel 의 debug를 설치한다.

설치 시 파일 경로는 /usr/lib/debug/lib/modules/2.6.32-573.el6.x86_64 에 저장됨 


3. crash 명령어를 사용하여 vmcore 파일 분석

crash /usr/lib/debug/lib/modules/<커널 릴리즈 버전>/vmlinux \ /var/crash/xxxx-xx-xx-xx:xx:xx/vmcore

다른 카테고리의 글 목록

Linux 카테고리의 포스트를 톺아봅니다

CentOS 에서 dig 명령어 실패 시

2015. 11. 3. 23:57 - mr.november11

DNS 분석용 툴로 가장 중요한 dig


CentOS 에서 dig 명령어 실패 시 

yum install dig 라는 패키지는 존재하지 않음


아래 bind-utils 로 설치하면 됨


yum install bind-utils


다른 카테고리의 글 목록

Linux 카테고리의 포스트를 톺아봅니다

php에서 ssh2 함수 사용 시 세팅 방법

2015. 10. 31. 23:44 - mr.november11


기본 php 패키지만 설치 시 ssh2관련 함수가 기본으로 실행되지 않음

ssh2_connect 실행 시 아래와 같은 에러 메시지 발생


ssh2 패키지를 사용하기 위해선 php-devel PKG도 함꼐 설치해야함


yum install php-devel로 기본 repository에서 잘 설치했던 것 같은데, 이상하게 aws에서 검색을 못 함..



PHP Fatal error:  Call to undefined function ssh2_connect() in /root/test.php on line 2

ssh2_connect() 함수 실패 시  

php-devel 패키지 설치 : 구글링으로 rpm 패키지 검색 후 wget로 서버에 다운, rpm -i로 설치

pecl 로 ssh2 패키지 설치 : pecl install ssh2

php.ini 에  extension=ssh2.so 추가

다른 카테고리의 글 목록

Linux 카테고리의 포스트를 톺아봅니다

FTP 접속 시 로그인 후 아래와 같은 메시지 발생


230 Login successful.

Remote system type is UNIX.

Using binary mode to transfer files.

ftp> ls

229 Entering Extended Passive Mode (|||50872|).

150 Here comes the directory listing.

226 Transfer done (but failed to open directory).

ftp> 


방화벽 문제도 없고 ..

확인 해보니 SeLinux가 on 되어 있을 시 위와 같은 에러가 발생


[root@ip-172-31-24-244 ~]# getenforce

Enforcing


setenforce 0 명렁어로 SeLinux를  off한다.


[root@ip-172-31-24-244 ~]# setenforce 0

[root@ip-172-31-24-244 ~]# getenforce

Permissive

[root@ip-172-31-24-244 ~]# 


SeLinux Off 후 FTP 정상화 됨


ftp> ls

200 EPRT command successful. Consider using EPSV.

150 Here comes the directory listing.

drwxrwxrwx    2 0        0            4096 Oct 25 08:12 css

drwxrwxrwx    2 0        0            4096 Oct 25 08:12 fonts

-rwxrwxrwx    1 0        0            1182 Oct 25 08:14 index.html

drwxrwxrwx    2 0        0              61 Oct 25 08:12 js

drwxrwxrwx    3 0        0              22 Oct 25 08:12 node_modules

226 Directory send OK.

ftp> 


/etc/selinux/config 파일의 설정도 이후 Disabled 상태로 변경


# This file controls the state of SELinux on the system.

# SELINUX= can take one of these three values:

#     enforcing - SELinux security policy is enforced.

#     permissive - SELinux prints warnings instead of enforcing.

#     disabled - No SELinux policy is loaded.

SELINUX=disabled


'Linux' 카테고리의 다른 글

CentOS 에서 dig 명령어 실패 시  (0) 2015.11.03
php에서 ssh2 함수 사용 시 세팅 방법  (0) 2015.10.31
Redhat Linux 에서 npm 설치하기  (0) 2015.10.25
mysql ( mariadb ) 설치  (0) 2015.10.11
rhel7 시스템 및 서비스 관리  (0) 2015.09.21

다른 카테고리의 글 목록

Linux 카테고리의 포스트를 톺아봅니다