특정 대상 제외하고 조회

  • 조회
    • ls -p | grep -v '.tx' | grep -v '.rx'

반응형
블로그 이미지

조이풀 라이프

Lift is short, enjoy the life

,

멀티코더 CPU의 처리 성능 향상을 위해 아래와 같이 OS 부팅 파라메터인 NUMA 파라메터를 비활성할 수 있다.

NUMA 설정 변경 후 OS를 리부팅 해야 한다.


자세한 NUMA 파라메터 설명은 레드햇 사이트를 참조하기 바란다.


AUTOMATIC NUMA BALANCING

Automatic NUMA balancing improves the performance of applications running on NUMA hardware systems. It is enabled by default on Red Hat Enterprise Linux 7 systems.
An application will generally perform best when the threads of its processes are accessing memory on the same NUMA node as the threads are scheduled. Automatic NUMA balancing moves tasks (which can be threads or processes) closer to the memory they are accessing. It also moves application data to memory closer to the tasks that reference it. This is all done automatically by the kernel when automatic NUMA balancing is active.
Automatic NUMA balancing uses a number of algorithms and data structures, which are only active and allocated if automatic NUMA balancing is active on the system:
  • Periodic NUMA unmapping of process memory
  • NUMA hinting fault
  • Migrate-on-Fault (MoF) - moves memory to where the program using it runs
  • task_numa_placement - moves running programs closer to their memory

9.2.1. Configuring Automatic NUMA Balancing

Automatic NUMA balancing is enabled by default in Red Hat Enterprise Linux 7, and will automatically activate when booted on hardware with NUMA properties.
Automatic NUMA balancing is enabled when both of the following conditions are met:
  • # numactl --hardware shows multiple nodes, and
  • # cat /sys/kernel/debug/sched_features shows NUMA in the flags.
Manual NUMA tuning of applications will override automatic NUMA balancing, disabling periodic unmapping of memory, NUMA faults, migration, and automatic NUMA placement of those applications.
In some cases, system-wide manual NUMA tuning is preferred.
To disable automatic NUMA balancing, use the following command:
# echo 0 > /proc/sys/kernel/numa_balancing
To enable automatic NUMA balancing, use the following command:
# echo 1 > /proc/sys/kernel/numa_balancing


반응형
블로그 이미지

조이풀 라이프

Lift is short, enjoy the life

,

1. FIN Time Wait 세션 확인

프로그램이 수행될 때 netstat -nt | grep TIME_WAIT | wc -l 명령어를 통해 세션상태를 확인하여 TIME_WAIT 상태의 세션의 개수를 확인할 수 있다.

TIME_WAIT 상태 해제되지 않은 대량의 연결 시도가 로컬 포트에 할당되고 해제되지 않아 유효한 범위의 포트 번호를 잠식하여 발생한다.
할당된 포트가 해제될 때 까지 새로운 연결을 설정할 수 없게 하는 상황이 발생된다.추측하여 이런 저런 검색을 통해

2. FIN Time Wait 시간 조절

 sysctl.conf 에 아래 파라미터들을 추가하여 TIME_WAIT 을 발생시키던 세션수가 감소하는 것을 확인할 수 있다.
추가한 파라미터 및 역할을 아래와 같다. 
 . ip_local_port_range :: 로컬 포트로 사용할 수 있는 주소의 범위 
 . tcp_tw_recycle : TIME_WAIT 상태에 있는 연결을 빠르게 재활용 할 수 있도록 하기 위한 값,  기본적으로 비활성화 되어 있으므로 값을 추가하여 넣어줘야 함 
 . tcp_fin_timeout FIN_WAIT2 상태에 있는 보유 시간 설정 (기본 60초 -> 10초)
# vi /etc/sysctl.conf
net.ipv4.ip_local_port_range = 1024 65000
net.ipv4.tcp_tw_recycle = 1
net.ipv4.tcp_fin_timeout = 10

3. 시스템에 적용하기

내용 추가 후 sysctl -p 명령어를 통해 바로 적용할 수 있다. 

※유의사항

net. ipv4 .tcp_tw_recycle을 사용하면 조건에 따라 TCP 세션 이 부풀어 없게되는 문제가 발생할 수도있다고 하니 관리하는 시스템 성격에 따라 유의하여 적용해야 할 것 같다. 


반응형
블로그 이미지

조이풀 라이프

Lift is short, enjoy the life

,

1. 개요

last 명령어로 최근 접속 기록 및 최근 재부팅 기록을 볼 수 있다.

/var/log/wtmp의 내용을 보여주는 것이다.

[root@zetawiki ~]# last

root pts/1 :0.0 Sun Feb 12 05:55 still logged in root pts/0 :0.0 Sun Feb 12 03:50 still logged in root pts/0 :0.0 Mon Feb 6 04:49 - 05:28 (00:38) root :0 Mon Feb 6 04:49 still logged in root :0 Mon Feb 6 04:49 - 04:49 (00:00) reboot system boot 2.6.18-274.el5 Mon Feb 6 13:32 (5+16:52)


wtmp begins Mon Feb 6 13:32:07 2012


2. 특정 계정 접속 확인


last 명령어 뒤에 계정명을 붙이면 그 계정의 접속 기록만 볼 수 있다.

[root@zetawiki ~]# last root

root pts/1 :0.0 Sun Feb 12 05:55 still logged in root pts/0 :0.0 Sun Feb 12 03:50 still logged in root pts/0 :0.0 Mon Feb 6 04:49 - 05:28 (00:38) root :0 Mon Feb 6 04:49 still logged in root :0 Mon Feb 6 04:49 - 04:49 (00:00)


wtmp begins Mon Feb 6 13:32:07 2012


3. 특정 시각 이전 접속 확인

-t 옵션으로 일시를 붙이면 그 이전의 접속기록만 표시된다. 

인수는 YYYMMDDHHMMSS(연월일시분초) 형식으로 적어야 한다.

[root@zetawiki ~]# last -t 20120212040000root pts/0 :0.0 Sun Feb 12 03:50 still logged in root pts/0 :0.0 Mon Feb 6 04:49 - 05:28 (00:38) root :0 Mon Feb 6 04:49 still logged in root :0 Mon Feb 6 04:49 - 04:49 (00:00) reboot system boot 2.6.18-274.el5 Mon Feb 6 13:32 (5+17:05)


wtmp begins Mon Feb 6 13:32:07 2012


4. 연도 보기

[root@zetawiki ~]# last

root pts/1 135.79.24.68 Thu Apr 7 10:28 still logged in root pts/1 135.79.24.68 Thu Apr 7 10:17 - 10:22 (00:05) root pts/0 135.79.24.68 Wed Aug 27 18:46 - 18:51 (00:05) ... (생략)

[root@zetawiki ~]# last -F

root pts/1 135.79.24.68 Thu Apr 7 10:28:58 2016 still logged in root pts/1 135.79.24.68 Thu Apr 7 10:17:39 2016 - Thu Apr 7 10:22:53 2016 (00:05) root pts/0 135.79.24.68 Wed Aug 27 18:46:54 2014 - Wed Aug 27 18:51:54 2014 (00:05)... (생략)


5. 지난달 기록 보기


이번달 기록만 나오는 경우가 있는데, /var/log/wtmp가 logrotate에 의해 순환된 경우에 그렇다.

흔히, 매달 1일에 특정 개수가 넘으면 순환되도록 설정되어 있다. 

→ /etc/logrotate.conf 참조


과거 기록을 보려면 확장자가 .1.2과 같이 보존된 파일을 열어봐야 한다.

last -f /var/log/wtmp.1


반응형
블로그 이미지

조이풀 라이프

Lift is short, enjoy the life

,

0. 환경

OS: RHEL 7.0 이상


1. 방화벽 오픈

sudo firewall-cmd --permanent --zone=public --add-port=20/tcp

sudo firewall-cmd --permanent --zone=public --add-port=21/tcp


2. 방화벽 설정 로딩 적용

sudo firewall-cmd --reload



3. 방화벽 상태 조회

sudo firewall-cmd --state


4. 방화벽 활성화 및 시작

sudo systemctl enable firewalld

sudo systemctl start firewalld


5. 방화벽 중지 및 비활성화

sudo systemctl stop firewalld

sudo systemctl disable firewalld



반응형
블로그 이미지

조이풀 라이프

Lift is short, enjoy the life

,

1. 환경

    • OS: RHEL 7.0 이상

2. SELINUX ftp 데몬 외부 접근 권한 설정

    • setsebool -P ftpd_full_access on


3. SELINUX ftp 상태 조회


    • getsebool -a | grep ftp


4. SELINUX 상태 조회


    • sestatus


반응형
블로그 이미지

조이풀 라이프

Lift is short, enjoy the life

,

대용량 메시지 처리 큐 시스템인 아파치 카프카를 설치해 보고, 간단하게 메시지 전달과 수신에 대해서 테스트를 진행해 본다.


1. 아파치 카프카는 무엇인가?

대용량, 대규모 메시지 데이터를 빠르게 처리할 수 있도록 개발된 메시지 큐잉 플랫폼이라고 간단하게 정의할 수 있다.

대용량 처리를 위해 ZooKeeper 기반 분산 서버 운영 환경을 지원한다.

처음 링크드인에서 내부 서비스를 위해 개발하여 사용하다가 2011년 초에 아파치 공식 오픈 소스로 세상에 공개되었다.


아파치 카프카는 기업에서 필요한 모든 데이터 시스템 및 서비스의 중앙 플랫폼 역할로 서비스 기반 아키텍처(SOA, Service Oriented Architecture)를 위한 핵심 구성 요소인 엔터프라이즈 서비스 버스(ESB, Enterprise Service Bus)를 쉽게 구현할 수 있도록 한다.



2. 카프카 동작 방식은?

카프카는 기본적으로 메시징 서버로 동작하며, 메시지 보내느 메커니즘 중에 PUB/SUB 모델을 기반으로 하하고 있다.

보내는 측인 Producer, 받는 측인 Consumer로 구성하여 메시지를 전달하고 받는 구조를 제공한다. 

동작 방식에 대한 도식화된 그림은 아래와 같다.




3.설치 환경

- OS: Mac OS High Sierra 10.13.4

- PC: MacBook Pro (Retina, 13-inch, Mid 2014)


4. 카프카 다운로드


아래의 사이트에서 다운로드 할 수 있다.

https://kafka.apache.org/downloads



카프카 설치를 위해 카프카 1.1.0 버전의 패키지 중에 Scala 2.12 기반 버전을 다운 받았다.


다운로드 후에 압축을 풀면 kafka_2.12-1.1.0 디렉토리를 확인할 수 있다.


5. JDK 설치

카프카는  Scala 언어로 개발되어 카프카 실행을 위해서는 JVM이 설치되어야 한다.

JDK 8 버전을 설치하자.


아래 다운로드 페이지에서 다운로드하여 설치하도록 한다.


http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html


※ 혹시 JDK 8 이상 버전을 사용하시면 JDK 8을 설치하여 사용하는게 정신 건강에 이롭다.


상위버전을 사용하면 ZooKeeper 실행 시 아래와 같은 오류 메시지를 확인할 수 있다.

 


bin/zookeeper-server-start.sh config/zookeeper.properties
Unrecognized VM option 'PrintGCDateStamps'


6. ZooKeeper 설정 및 실행

카프카 다운받고 압축해제 한 후 카프카 디렉토리로 이동하면 아래와 같은 폴더로 되어 있다.


~/kafka_2.12-1.1.0 » ls                                                                                      

LICENSE             bin                  

NOTICE              config               libs                logs                site-docs        

~/kafka_2.12-1.1.0


카프카 설치 디렉토리에서 아래와 같이 입력하면 ZooKeeper가 실행된다.


bin/zookeeper-server-start.sh config/zookeeper.properties


정상적으로 실행되면 아래와 같은 메시지가 출력된다.

[2018-05-16 11:48:48,523] INFO binding to port 0.0.0.0/0.0.0.0:2181 (org.apache.zookeeper.server.NIOServerCnxnFactory)


※ 여러 대의 서버로 ZooKeeper를 구성하고자 한다면 아래의 링크를 참조하여 구성하면 된다.


http://programist.tistory.com/entry/Apache-Kafka-%ED%81%B4%EB%9F%AC%EC%8A%A4%ED%84%B0%EB%A7%81-%EA%B5%AC%EC%B6%95-%EB%B0%8F-%ED%85%8C%EC%8A%A4%ED%8A%B8


7. 카프카 실행 

카프카 설치 디렉토리에서 아래와 같이 입력하면 아파치 카프카가 실행된다.


bin/kafka-server-start.sh config/server.properties


정상적으로 실행되면 아래와 같은 메시지가 출력된다.

[2018-05-16 11:59:58,654] INFO Kafka version : 1.1.0 (org.apache.kafka.common.utils.AppInfoParser)

[2018-05-16 11:59:58,654] INFO Kafka commitId : fdcf75ea326b8e07 (org.apache.kafka.common.utils.AppInfoParser)

[2018-05-16 11:59:58,658] INFO [KafkaServer id=0] started (kafka.server.KafkaServer)

[2018-05-16 11:59:58,706] INFO [ReplicaAlterLogDirsManager on broker 0] Added fetcher for partitions List() (kafka.server.ReplicaAlterLogDirsManager)


※ 여러 대의 서버로 카프카를 구성하고자 한다면 아래의 링크를 참조하여 구성하면 된다.


http://programist.tistory.com/entry/Apache-Kafka-%ED%81%B4%EB%9F%AC%EC%8A%A4%ED%84%B0%EB%A7%81-%EA%B5%AC%EC%B6%95-%EB%B0%8F-%ED%85%8C%EC%8A%A4%ED%8A%B8


8. 토픽 관리

토픽 생성

아래의 명령어를 입력하여 토픽을 생성할 수 있다.

~/kafka_2.12-1.1.0 » bin/kafka-topics.sh -create -zookeeper localhost:2181 --replication-factor 1 --partitions 1 --topic test


Created topic "test".


토픽 확인

아래의 명령어를 입력하면 생성된 토픽 리스트를 확인 할 수 있다.

~/kafka_2.12-1.1.0 » bin/kafka-topics.sh --list --zookeeper localhost:2181                                                                         

test

토픽 삭제

아래의 명령어를 입력하면 원하는 토픽을 삭제할 수 있다.

~/kafka_2.12-1.1.0 » bin/kafka-topics.sh --delete --zookeeper localhost:2181 --topic test


9. 메시지 송신 및 수신

Producer 실행

Producer는 아래와 같이 실행할수 있다.

test라는 토픽을 구독하는 Consumer에게 보내겠다고 브로커에게 메시지를 보내는 것이다.


bin/kafka-console-producer.sh --broker-list localhost:9092 --topic test


Consumer 실행

Consumer는 아래와 같이 실행할 수 있다.

test라는 토픽에 메시지가  들어오면 받겠다는 것이다.


bin/kafka-console-consumer.sh -zookeeper localhost:2181 --topic test --from-beginning


메시지 전송

Producer 콘솔창에 보내고자 하는 메시지를 입력하면 아래와 같이 Consumer 콘솔창에 메시지가 수신되어 나타난다.


> msg 1



Using the ConsoleConsumer with old consumer is deprecated and will be removed in a future major release. Consider using the new consumer by passing [bootstrap-server] instead of [zookeeper].

 msg 1



반응형
블로그 이미지

조이풀 라이프

Lift is short, enjoy the life

,

파이썬을 사용하기 위해서 윈도우용 파이썬 설치 배포 패키지인 아나콘다를 설치하는 방법을 설명한다.

아나콘다 설치 배포본에는 Jupter Notebook, IPython, qtconsole, spyder 등이 포함되어 있다.

 

1.설치환경

- 윈도우10 64bit

 

 

2. 아나콘다 패키지 다운로드

https://www.continuum.io/downloads

아래의 다운로드 화면에서 Python 3.5 version, 64-BIT Installer를 다운로드 한다.

 

   

3. 아나콘다 설치하기

다운받은 Anaconda3-4.2.0-Windows-x86_64.exe 파일을 클릭하여 PC에 설치한다. 설치가 완료되면 "C:\Program Files\Anaconda3" 경로에 아래와 배포본이 설치된다.

 

4. 아나콘다 관리하기

아나콘다를 관리하기 위해 아나콘다 메뉴에서 Anaconda Prompt를 관리자 권한으로 실행을 한다.

 

버전 확인

conda update --help

 

아나콘다 업데이트

conda update conda

 

 

설치된 패키지 내역 보기

conda list 

To list all of your packages installed into a non-active environment named snowflakes:

conda list -n snowflakes 

 

설치된 패키지 찾기

To see if a specific package is available for conda to install:

conda search beautiful-soup 

This displays the package name, so we know it is available.

 

패키지 설치

Install a package such as “Beautiful Soup” into the current environment, using conda install as follows:

conda install --name bunnies beautiful-soup 

conda install python=3.5

conda install -c menpo opencv3=3.1.0

 

자세한 Anaconda 명령어 레퍼런스는 아래의 사이트를 참고하기 바랍니다.

http://conda.pydata.org/docs/using/using.html#introduction

 

 

 

 

반응형

'IT > Python' 카테고리의 다른 글

Python All Package Update  (0) 2020.11.29
블로그 이미지

조이풀 라이프

Lift is short, enjoy the life

,

텐서플로우가 이제 윈도우에서 설치하여 사용할 수 있게 되었습니다.

윈도우에 텐서플로우 설치 방법은 아래의 순서로 진행하시면 됩니다.


1.설치환경

- 윈도우10 64bit

- Nvidia GTX 1080 또는 1070, 1060 등 CUDA를 지원하는 그래픽 카드

 

2. 설치 패키지 다운로드

 

2.1 아나콘다3 4.2 64bit 버전 다운로드

 https://www.continuum.io/downloads

아래의 다운로드 화면에서 Python 3.5 version, 64-BIT Installer를 다운로드 한다.


  

2.2. Nvidia CUDA 및 cuDNN SDK 다운로드

https://developer.nvidia.com/accelerated-computing-toolkit

아래의 다운로드 화면에서 CUDA 8.0, cuDNN을 다운로드 하시면 됩니다.
cuNDD은 개발자 회원가입을 해야 다운 받을 수 있습니다.

 

 

3. 패키지 설치하기

 

3.1 CUDA 설치하기

다운받은 cuda_8.0.44_win10.exe 파일을 클릭하여 PC에 설치한다.

설치가 완료되면 아래의 경로에 CUDA 패키지가 설치된다.

C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v8.0


 

 

3.2 cuDNN 설치하기

다운받은 cudnn-8.0-windows10-x64-v5.1.zip 파일을 압축해제 한다.

압축을 해제하면 bin, include, lib 폴더가 있다. 해당 폴더를 3.1에 설치한 CUDA 설치 경로에 복사하여 덮어쓰기를 한다.

 

3.3 아나콘다 설치하기

다운받은 Anaconda3-4.2.0-Windows-x86_64.exe 파일을 클릭하여 PC에 설치한다.

 

3.4 Tensorflow 설치하기

아나콘다 설치 메뉴에서 아나콘다 프롬프트를 관리자 모드로 실행한다.

아래의 명령어를 아나콘다 프롬프트에  "pip install tensorflow-gpu" 명령어를 입력한다. 설치 명령어를 입력하면 아래와 같이 Tensorflow 다운로드 및 설치가 진행된다.



업그레이드 명령어는 아래와 같다.

pip install --upgrade https://storage.googleapis.com/tensorflow/windows/gpu/tensorflow_gpu-0.12.0rc0-cp35-cp35m-win_amd64.whl


4. 설치 확인 및 실행

아나콘다 설치 메뉴 폴더에서 IPython을 선택하여 실행한다.

아래의 코드를 입력하면 Tensoflow가 정상적으로 동작하는지 간단히 확인할 수 있다.

 import tensorflow as tf
 tf.Session()


반응형

'IT > 머신러닝' 카테고리의 다른 글

머신러닝 입문을 위한 좋은 강의 소개  (0) 2016.05.10
AWS에 Tensorflow 설치하기  (0) 2016.05.10
블로그 이미지

조이풀 라이프

Lift is short, enjoy the life

,

1. Instance Stop

- Instances 메뉴를 선택하여 실행 중인 Instance 를 중지한다. 필수는 아니다.

 

2. Volume의 Snapshot 생성

- Instance에서 사용하던 Volume를 백업하기 위해 Snapshot을 생성한다.

- 오래 걸린다. 커피한잔 먹고 오자.

 

3. Detach Volume

- Instance에서 사용하던 Volume를 분리하자.

- 분리전에 Tag 정보를 메모하자.

 

4. Snapshot을 이용하여 Create Voume

- Snapshot을 이용하여 Volume를 생성하며 이때 변경하고자하는 Volume Size를 설정한다.

- IOPS 옵션도 설정한다.

 

5. Instance에 생성한 Volmue Attach

 

6. Start Instance

 

반응형
블로그 이미지

조이풀 라이프

Lift is short, enjoy the life

,