반응형
반응형



1. AWS EC2 접속


2. AMI 버전 확인

$ grep . /etc/*-release

/etc/os-release:NAME="Amazon Linux AMI"

/etc/os-release:VERSION="2017.03"

/etc/os-release:ID="amzn"

/etc/os-release:ID_LIKE="rhel fedora"

/etc/os-release:VERSION_ID="2017.03"

/etc/os-release:PRETTY_NAME="Amazon Linux AMI 2017.03"

/etc/os-release:ANSI_COLOR="0;33"

/etc/os-release:CPE_NAME="cpe:/o:amazon:linux:2017.03:ga"

/etc/os-release:HOME_URL="http://aws.amazon.com/amazon-linux-ami/"

/etc/system-release:Amazon Linux AMI release 2017.03


3. Java 1.8 설치

$ java -version

java version "1.7.0_151"

OpenJDK Runtime Environment (amzn-2.6.11.0.74.amzn1-x86_64 u151-b00)

OpenJDK 64-Bit Server VM (build 24.151-b00, mixed mode)


$ sudo yum install java-1.8.0


$ sudo yum remove java-1.7.0


$ java -version

openjdk version "1.8.0_141"

OpenJDK Runtime Environment (build 1.8.0_141-b16)

OpenJDK 64-Bit Server VM (build 25.141-b16, mixed mode)


4. Scala 설치

$ wget https://downloads.lightbend.com/scala/2.12.3/scala-2.12.3.tgz

$ tar xzvf scala-2.12.3.tgz


$ sudo su -

# cd /home/ec2-user/

# mv scala-2.12.3 /usr/local/scala

# exit


$ sudo vi /etc/profile


export PATH=$PATH:/usr/local/scala/bin


$ source /etc/profile


$ scala -version

Scala code runner version 2.12.3 -- Copyright 2002-2017, LAMP/EPFL and Lightbend, Inc.


5. Spark 설치

* 주의 사항 : AWS t2.large 인스턴스 정도가 되어야 정상 동작함 (t2.small에서는 Spark Streaming 정상 동작 하지 않음)

$ wget https://d3kbcqa49mib13.cloudfront.net/spark-2.2.0-bin-hadoop2.7.tgz

$ tar xvzf spark-2.2.0-bin-hadoop2.7.tgz


$ sudo su -

# cd /home/ec2-user/

# mv spark-2.2.0-bin-hadoop2.7 /usr/local/spark

# exit


$ sudo vi /etc/profile


export PATH=$PATH:/usr/local/spark/bin


$ source /etc/profile

$ spark-shell


6. Kafka 설치 및 데몬 실행

$ wget http://apache.mirror.cdnetworks.com/kafka/0.11.0.0/kafka_2.11-0.11.0.0.tgz

$ tar xzvf kafka_2.11-0.11.0.0.tgz

$ ln -s kafka_2.11-0.11.0.0 kafka


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

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


7. MongoDB 설치 및 서비스 실행

$ sudo su

# vi /etc/yum.repos.d/mongodb-org-3.4.repo


[mongodb-org-3.4]

name=MongoDB Repository

baseurl=https://repo.mongodb.org/yum/amazon/2013.03/mongodb-org/3.4/x86_64/

gpgcheck=1

enabled=1

gpgkey=https://www.mongodb.org/static/pgp/server-3.4.asc


# yum install -y mongodb-org

# service mongod start

# mongo

# exit


8. Redis 설치 및 서비스 실행

$ sudo yum -y update

$ sudo yum -y install gcc make


$ sudo wget http://download.redis.io/redis-stable.tar.gz

$ tar xvzf redis-stable.tar.gz

$ cd redis-stable

$ sudo make install


$ sudo mkdir -p /etc/redis /var/lib/redis /var/redis/6379

$ sudo cp redis.conf /etc/redis/6379.conf

$ sudo vi /etc/redis/6379.conf


daemonize yes

logfile /var/log/redis_6379.log

dir /var/redis/6379


$ sudo wget https://raw.githubusercontent.com/saxenap/install-redis-amazon-linux-centos/master/redis-server

$ sudo mv redis-server /etc/init.d

$ sudo chmod 755 /etc/init.d/redis-server

$ sudo vi /etc/init.d/redis-server


REDIS_CONF_FILE="/etc/redis/6379.conf"


$ sudo chkconfig --add redis-server

$ sudo chkconfig --level 345 redis-server on

$ sudo service redis-server start


9. Node.js 개발 환경 구축

$ sudo yum install git-core

$ sudo yum install nodejs npm --enablerepo=epel


$ npm -v

1.3.6

$ sudo npm update -g npm

$ npm -v

5.3.0

$ npm install


$ sudo npm cache clean -f

$ sudo npm install -g n

$ sudo n 6.11.1

$ node -v

v0.10.48


재접속


$ node -v

v6.11.1


10. Maven 개발 환경 구축

$ sudo yum install java-1.8.0-openjdk-devel.x86_64

$ sudo alternatives --config java

$ sudo alternatives --config javac

$ javac -version

javac 1.8.0_141


$ sudo wget http://repos.fedorapeople.org/repos/dchen/apache-maven/epel-apache-maven.repo -O /etc/yum.repos.d/epel-apache-maven.repo

$ sudo sed -i s/\$releasever/6/g /etc/yum.repos.d/epel-apache-maven.repo

$ sudo yum install -y apache-maven

$ mvn -v

Apache Maven 3.3.9 (bb52d8502b132ec0a5a3f4c09453c07478323dc5; 2015-11-10T16:41:47+00:00)

Maven home: /usr/share/apache-maven

Java version: 1.7.0_151, vendor: Oracle Corporation

Java home: /usr/lib/jvm/java-1.7.0-openjdk-1.7.0.151.x86_64/jre

Default locale: en_US, platform encoding: UTF-8

OS name: "linux", version: "4.9.38-16.35.amzn1.x86_64", arch: "amd64", family: "unix"


------------------

<참고자료>

리눅스 버전 확인

https://zetawiki.com/wiki/%EB%A6%AC%EB%88%85%EC%8A%A4_%EC%A2%85%EB%A5%98_%ED%99%95%EC%9D%B8,_%EB%A6%AC%EB%88%85%EC%8A%A4_%EB%B2%84%EC%A0%84_%ED%99%95%EC%9D%B8

AMI에 JDK 1.8 설치

http://blog.naver.com/PostView.nhn?blogId=typez&logNo=221020775376&redirect=Dlog&widgetTypeCall=true

스칼라 및 스파크 설치

http://www.w3ii.com/ko/apache_spark/apache_spark_installation.html

카프카 설치

http://www.popit.kr/kafka-%EC%9A%B4%EC%98%81%EC%9E%90%EA%B0%80-%EB%A7%90%ED%95%98%EB%8A%94-%EC%B2%98%EC%9D%8C-%EC%A0%91%ED%95%98%EB%8A%94-kafka/

https://blog.knoldus.com/2017/04/19/installing-and-running-kafka-on-aws-instance-centos/

몽고디비 설치

http://chichi.space/2017/05/12/%ED%95%9C%EB%B2%88%EC%97%90-%EB%81%9D%EB%82%B4%EB%8A%94-AWS-EC2%EC%97%90-MongoDB-%EC%84%A4%EC%B9%98%ED%95%98%EA%B3%A0-%EB%B3%B4%EC%95%88%EC%84%A4%EC%A0%95%ED%95%98%EA%B8%B0/

레디스 설치

http://mygumi.tistory.com/133

웹 프론트 개발 환경 구축

http://tbang.tistory.com/123

Node.js 최신 버전 설치

http://goosia.com/?p=85

NPM 최신 버전 설치

https://askubuntu.com/questions/562417/how-do-you-update-npm-to-the-latest-version

$ npm -v
2.15.1
$ sudo npm update -g npm
/usr/local/bin/npm -> /usr/local/lib/node_modules/npm/bin/npm-cli.js
npm@3.10.9 /usr/local/lib/node_modules/npm
$ npm -v
3.10.9

Maven 설치

http://bhargavamin.com/how-to-do/install-jenkins-on-amazon-linux-aws/

sudo yum install -y git  java-1.8.0-openjdk-devel aws-cli

sudo alternatives --config java

sudo wget http://repos.fedorapeople.org/repos/dchen/apache-maven/epel-apache-maven.repo -O /etc/yum.repos.d/epel-apache-maven.repo

sudo sed -i s/\$releasever/6/g /etc/yum.repos.d/epel-apache-maven.repo

sudo yum install -y apache-maven

mvn –v

AWS EC2 t2.micro Swap 할당하는 방법

https://m.blog.naver.com/PostView.nhn?blogId=sory1008&logNo=220808623133&proxyReferer=https%3A%2F%2Fwww.google.co.kr%2F

$ dd if=/dev/zero of=/swapfile bs=1M count=1024 $ mkswap /swapfile $ swapon /swapfile $ echo "/swapfile swap swap defaults 0 0" >> /etc/fstab



출처: http://nashorn.tistory.com/623 [나숑의 법칙]

반응형

'연구개발 > Linux' 카테고리의 다른 글

VirtualEnv Wrapper를 이용한 파이썬 가상환경 설정  (0) 2017.04.05
centos fdisk  (0) 2017.03.30
ubuntu 방화벽  (0) 2016.03.14
zabbix mail setting  (0) 2016.03.03
swap  (0) 2016.03.02
반응형

파이썬 가상환경 설정에 대한 이전 글이 있지만, VirtualEnvWrapper 툴을 이용하여 가상환경을 설정하는게 더 편한거 같아 이 방법도 올린다.

 

pip 설치

$ sudo apt-get install python-pip

 

virtualenvwrapper 설치

$ sudo pip install virtualenvwrapper    // virtualenv 도 설치 된다.

 

가상 환경을 저장할 디렉토리를 생성하고, 환경변수에 등록

$ mkdir ~/.virtualenvs         //  .virtualenvs 라는 디렉토리 생성

 

~/.bashrc 파일 마지막에 아래 내용을 적어줌.

export WORKON_HOME=~/.virtualenvs
source /usr/local/bin/virtualenvwrapper.sh

 

바뀐 .bashrc 파일 적용

$ source .bashrc

 

가상환경 생성

mkvirtualenv [가상환경 이름]     //  이렇게 사용한다.

$ mkvirtualenv py2     // py2 라는 가상환경을 생성했다.

프롬프트 앞에 (py2)가 붙을 것이다. 그래도 제대로 생성되었는지 확인해보자

(py2)~$ which python

/home/user_name/.virtualenvs/py2/bin/python  이라고 나오면 정상적으로 생성된것이다.

 

py2 가상환경에서 빠져나오려면,

(py2)~$ deactivate

다시 py2 가상환경에 접속하려면

$ workon py2

 

파이썬3 버전의 가상환경도 만들어 주자.

$ mkvirtualenv py3 –-python=python3     //  python3 버전의  py3라는 가상환경을 생성.

프롬프트 앞에 이번에는 (py3)가 붙어 있을것이다.  마찬가지로 제대로 생성되었는지 확인.

(py3)~$ which python

/home/user_name/.virtualenvs/py3/bin/python  라고 나온다.  제대로 되었다.

 

python2, python3 버전의 py2, py3 라는 가상환경을 설정하였다. 이제부터는 가상환경에 접속해서 작업하면 된다.



가상환경 기본 사용법

* 가상환경 접속

$ workon 가상환경 이름     // py2 나 py3 등 본인이 만든 가상환경 이름

* 가상환경 종료

$ deactivate

* 가상환경 목록

$ lsvirtualenv

* 가상환경 삭제

$ rmvirtualenv



  • 가상환경 종료
    deactivate
  • 가상환경 디렉토리로 이동
    cdvirtualenv
  • 현재 가상환경의 써드 파티 패키지 전체 삭제
    wipeenv
  • 가상환경 목록
    lsvirtualenv
  • 가상환경 삭제
    rmvirtualenv
  • 모든 가상환경에 대한 명령 실행
    # allvirtualenv command with arguments
    allvirtualenv pip install -U pip


반응형

'연구개발 > Linux' 카테고리의 다른 글

AWS EC2 (AMI)에 Java, Scala, Spark, Kafka, MongoDB, Redis, Node.js, Maven 설치  (0) 2017.12.29
centos fdisk  (0) 2017.03.30
ubuntu 방화벽  (0) 2016.03.14
zabbix mail setting  (0) 2016.03.03
swap  (0) 2016.03.02
반응형

리눅스 용량 확장 명령어 resize2fs 사용법 (Nothing to do! 나올때)

출처: http://vitta.tistory.com/25 [Cloud]



EC2 의 CENTOS 의 경우 8G 정도의 Root 볼륨이 할당됩니다. 약간 작아 20G로 resize2fs 시켜 사용중이었는데 6.7 버전부터 resizefs /dev/xvda1 을 하면 

The filesystem is already 2096896 blocks long.  Nothing to do!

라는 메세지가 발생합니다.

이를 해결하기 위해 아래의 방법을 실행합니다.

 이는 시작 섹터를 변경하여  이전 파티션을 삭제하고 동일한 파티션 번호를 새로 생성하게 하는 것입니다. 잘못될 경우 부팅에 실패할 수 있으므로, 사용 중인 시스템에서는 백업이 필수라 여겨집니다. 


[root@cateye ~]$ lsblk 

NAME    MAJ:MIN RM SIZE RO TYPE MOUNTPOINT

xvda    202:0    0  20G  0 disk 

└─xvda1 202:1    0   8G  0 part /

[root@cateye ~]# resize2fs /dev/xvda1

resize2fs 1.41.12 (17-May-2010)

The filesystem is already 2096896 blocks long.  Nothing to do!


[root@cateye ~]# resize2fs /dev/xvda

resize2fs 1.41.12 (17-May-2010)

resize2fs: Device or resource busy while trying to open /dev/xvda

Couldn't find valid filesystem superblock.

[root@cateye ~]# df -h

Filesystem      Size  Used Avail Use% Mounted on

/dev/xvda1      7.8G  943M  6.5G  13% /

tmpfs           938M     0  938M   0% /dev/shm

[root@cateye ~]# fdisk /dev/xvda


WARNING: DOS-compatible mode is deprecated. It's strongly recommended to

         switch off the mode (command 'c') and change display units to

         sectors (command 'u').


Command (m for help): u

Changing display/entry units to sectors


Command (m for help): p


Disk /dev/xvda: 21.5 GB, 21474836480 bytes

255 heads, 63 sectors/track, 2610 cylinders, total 41943040 sectors

Units = sectors of 1 * 512 = 512 bytes

Sector size (logical/physical): 512 bytes / 512 bytes

I/O size (minimum/optimal): 512 bytes / 512 bytes

Disk identifier: 0x00057cbb


    Device Boot      Start         End      Blocks   Id  System

/dev/xvda1   *        2048    16777215     8387584   83  Linux


Command (m for help): d

Selected partition 1


Command (m for help): n

Command action

   e   extended

   p   primary partition (1-4)

p

Partition number (1-4): 1

First sector (63-41943039, default 63): 2048

Last sector, +sectors or +size{K,M,G} (2048-41943039, default 41943039): ENTER

Using default value 41943039


Command (m for help): p


Disk /dev/xvda: 21.5 GB, 21474836480 bytes

255 heads, 63 sectors/track, 2610 cylinders, total 41943040 sectors

Units = sectors of 1 * 512 = 512 bytes

Sector size (logical/physical): 512 bytes / 512 bytes

I/O size (minimum/optimal): 512 bytes / 512 bytes

Disk identifier: 0x00057cbb


    Device Boot      Start         End      Blocks   Id  System

/dev/xvda1            2048    41943039    20970496   83  Linux


Command (m for help): a

Partition number (1-4): 1


Command (m for help): w

The partition table has been altered!


Calling ioctl() to re-read partition table.


WARNING: Re-reading the partition table failed with error 16: Device or resource busy.

The kernel still uses the old table. The new table will be used at

the next reboot or after you run partprobe(8) or kpartx(8)

Syncing disks.


[root@cateye ~]# reboot


Broadcast message from root@cateye



[root@cateye ~]$ lsblk 

NAME    MAJ:MIN RM SIZE RO TYPE MOUNTPOINT

xvda    202:0    0  20G  0 disk 

└─xvda1 202:1    0  20G  0 part /

[root@cateye ~]$ df -h

Filesystem      Size  Used Avail Use% Mounted on

/dev/xvda1       20G  947M   18G   5% /

tmpfs           938M     0  938M   0% /dev/shm



위의 내용은 제가 직접 실행한 내용이고, 아래에 설명을 따라했습니다. 가급적이면 원본 사이트에가서 참조하시기 바랍니다.



To expand on JD's self-accepted answer, here's exactly what to do:

df -h #print the name of your boot partition

lsblk #show info on all your block devices

You'll see from that output what the name of the disk is of your root partition. For example, you probably see something like this:  xvde 202:64 0 32G 0 disk └─xvde1 202:65 0 8G 0 part /

Our goal is to make xvde1 use the whole available space from xvde. Here's how your resize your partition:

fdisk /dev/xvda (the disk name, not your partition) This enters into the fdisk utility.

  1. u #Change the display to sectors
  2. p #Print info
  3. d #Delete the partition
  4. n #New partition
  5. p #Primary partition
  6. 1 #Partition number
  7. 2048 #First sector
  8. Press Enter to accept the default
  9. p #Print info
  10. a #Toggle the bootable flag
  11. 1 #Select partition 1
  12. w #Write table to disk and exit

Now, reboot your instance: reboot

After it comes back do:

resize2fs /dev/xvde1 (the name of your partition, not the block device)

And finally verify the new disk size: df -h

1 출처는 여기

http://stackoverflow.com/questions/26770655/ec2-storage-attached-at-sda-is-dev-xvde1-cannot-resize



출처: http://vitta.tistory.com/25 [Cloud]

반응형
반응형

ubuntu 방화벽 설정


ufw enable 활성화

ufw disable 비활성화


ufw status 상태확인


ufw allow 22/tcp 허용


ufw deny 80/tcp 거부


ufw status verbose 확인

반응형

'연구개발 > Linux' 카테고리의 다른 글

VirtualEnv Wrapper를 이용한 파이썬 가상환경 설정  (0) 2017.04.05
centos fdisk  (0) 2017.03.30
zabbix mail setting  (0) 2016.03.03
swap  (0) 2016.03.02
zabbix 3.0 설치  (0) 2016.02.23
반응형


http://www.tecmint.com/configure-zabbix-to-send-email-alerts-to-gmail/


This tutorial will briefly discuss you on how to setup Zabbix server to send mail reports to a Gmailaddress by using SSMTP program, without the need to install and configure any local MTA daemon, such as PostfixExim etc.

Requirements

  1. Install Zabbix Monitoring Server

Step 1: Install and Configure SSMTP

1. SSMTP is a small software, which does not fulfill any of the functionality of a mail server, but only delivers emails from a local machine to an external email address on a mailhub.

To install SSMTP program alongside with mailutils package that you will use it to send mails, issue the following command on your RedHat and Debian like server:

# yum install ssmtp mailx                    [On RHEL/CentOS 7] 
$ sudo apt-get install ssmtp mailutils       [On Debian 8]

2. After the packages are installed on the system, configure SSMTP program to send local emails to your Gmail account by opening the main configuration file for editing with your favorite text editor and root privileges and use the following parameter settings:

# vi /etc/ssmtp/ssmtp.conf                   [On RHEL/CentOS 7]
$ sudo nano /etc/ssmtp/ssmtp.conf            [On Debian 8]

SSMTP settings for GMAIL account

root=gmail-username@gmail.com
mailhub=smtp.gmail.com:587
rewriteDomain=your_local_domain
hostname=your_local_FQDN
UseTLS=Yes
UseSTARTTLS=Yes
AuthUser=Gmail_username
AuthPass=Gmail_password
FromLineOverride=YES
Configure Zabbix Email Alerts

Configure Zabbix Email Alerts

Step 2: Gmail Tests for Zabbix Email Alerts

3. On the next step it’s time to send a local generated email to Gmail account by issuing the below command.

# echo "Body test email from 'hostname -f' "| mail -s "subject here" gmail_user@gmail.com
Gmail Tests

Gmail Tests

4. Normally, Gmail prevents different types of authentications to their servers from your account, so, in case you get the error “mail: cannot send message: Process exited with non-zero status”, then login to your Gmail account from browser and navigate to the following linkhttps://www.google.com/settings/security/lesssecureapps in order to allow access for less secure apps as in the following screen.

Manage Secure Gmail Apps

Manage Secure Gmail Apps

5. After you have turned on Less Secure Apps feature on your Gmail account, run the above mail command again and verify your Inbox after a few seconds to check if the locally generated email has been successfully delivered – you should normally see the email has incoming from Gmail.

Mail Delivery Confirm

Mail Delivery Confirm

Step 3: Configure Zabbix Sendmail Script

6. Further, based on the $(which mail) command create the following Bash script to Zabbixalertscripts directory with the following content and give it execute permissions:

# vi /usr/local/share/zabbix/alertscripts/zabbix-sendmail            [On RHEL/CentOS 7]
$ sudo nano /usr/local/share/zabbix/alertscripts/zabbix-sendmail     [On Debian 8]

Script content:

#!/bin/bash
echo "$3" | /usr/bin/mail -s "$2" $1
Configure Sendmail Zabbix

Configure Sendmail Zabbix

Next, set the execute permission on the script file.

# chmod +x /usr/local/share/zabbix/alertscripts/zabbix-sendmail

7. Next, as previously, test the script functionality by sending a local email to Gmail account. The way to run the script with positional parameters is explained above:

# /usr/local/share/zabbix/alertscripts/zabbix-sendmail gmail_username@gmail.com "Subject here" "Body of the message here"
Send Mail to Gmail Account from Linux

Send Mail to Gmail Account

Afterwards, verify Gmail Inbox and check if the new local message has arrived.

Verify Mail Delivery

Verify Mail Delivery

Step 4: Configure Zabbix to Send Alerts to Gmail

8. If the tests so far were successful, then you can move to next step and setup Zabbix to send generated email alerts to Gmail. First, login to Zabbix web interface and navigate to the following menu: Administration -> Media types -> Create media type.

Zabbix Administration

Zabbix Administration

9. On the next screen enter an arbitrary Name to uniquely identify for the script in the Zabbixconfigurations (in this example Send-Email-Script is used), choose Script as Type from the list and enter the name of the Bash script created earlier (zabbix-sendmail used in this tutorial) to send email from command line (don’t use the path for the script, only the script name). When you’re done, hit the Add button below to reflect changes.

Create Zabbix Email Alerts

Create Zabbix Email Alerts

10. Further, let’s configure an email address to which you will send Zabbix alerts. Go to Profile ->Media -> Add and a new pop-up window should appear.

Here, select the name of the script that you have earlier named (in this example Send-Email-Scriptis used) for Type, enter the Gmail address to which you will send emails, choose the time period (week, hours) when email reports should be active for sending, choose the severity of the messages that you want to receive on your Gmail address, select Enabled as Status and hit the Addbutton to add the media. Finally hit the Update button to apply configuration.

Configure Zabbix Mail Address

Configure Zabbix Mail Address

Zabbix Update Configuration

Zabbix Update Configuration

11. On the next step, enable the defult zabbix alerts by navigating to Configuration -> Actions, select as the Event Source – > Triggers from the right menu and hit on Disabled Status in order to enable it. Repeat the step for Event Source – > Internal or other custom created Actions and you’re done.

Enable Default Zabbix Mail Alert

Enable Default Zabbix Mail Alert

Zabbix Enabled Actions

Zabbix Enabled Actions

Wait for a while for Zabbix to start gather information and generate some reports, then verify yourGmail Inbox and you should see some Zabbix alerts submitted so far.

Zabbix Monitoring Mail Alerts

Zabbix Monitoring Mail Alerts

That’s all! Although this guide was mainly focused on sending Zabbix alerts to a Gmail account using Gmail SMTP server as a mailhub, using the same configuration you can, also, push zabbix email alerts further to other valid internet email accounts by relying on Gmail to route your emails through SMTP servers.

반응형

'연구개발 > Linux' 카테고리의 다른 글

centos fdisk  (0) 2017.03.30
ubuntu 방화벽  (0) 2016.03.14
swap  (0) 2016.03.02
zabbix 3.0 설치  (0) 2016.02.23
zabbix 설치  (0) 2015.11.17
반응형

http://banasun.tistory.com/91

composer를 update 중에 composer가 뻗어버리는 일이 발생하였습니다. 개발용으로 Virtual server를 이용하고 있는데, 아무래도 메모리가 적어서 그런 것 같습니다.

구글링을 해보니, swap 설정을 해주어야 한다고 하니 오늘은 이 척박한(!) 서버에 스왑으로 일단 돌아가게는 해놔야 하겠습니다.


1. 일단 free 명령으로 swap 파일이 있는지 확인부터 해줍니다. :

sudo free -m


위와 같이 swap이 0 0 이 나옵니다. 


2. 그러면 일단, 스왑 파일을 생성하겠습니다. 아래와 같이 해주면 4기가 크기의 파일이 생성됩니다:

sudo fallocate -4G /swapfile

이렇게 해주면 /swapfile 이라는 4G짜리 파일이 만들어지겠지요.


3. 이제 이 파일을 swap으로 이용하도록 설정하겠습니다. 그 전에 안전을 위해서 생성한 파일의 permission을 root만 읽고 쓸 수 있게 변경하겠습니다:

sudo chmod 600 /swapfile


4. 이제 이 파일을 swap 파일로 인식하게 해주면 되겠습니다.

sudo mkswap /swapfile

이러면 아래와 같이 반응이 옵니다.




5. 이제 swapon으로 스왑 파일을 활성화시키면 됩니다.

sudo swapon /swapfile

-s 옵션을 주면 이제 스왑이 실행되고 있는지 확인 가능합니다.

sudo swapon -s


vi /etc/fstab

/swapfile    none    swap    defaults    0 0

출처: http://boricha.springnote.com/pages/7091447

https://help.ubuntu.com/community/SwapFaq

영어 잘하는 사람은 링크를 보는게 훨씬 낫다.

 

  • swap 필요한 이유
  • Memory consuming programs. 많은 메모리를 필요로 하는 프로그램
  • Hibernation (suspend-to-disk). 절전모드 진입시 메모리(RAM)를 디스크로 저장.
  • Unforeseeable Circumstances. 예측하지 못한 이벤트발생시 문제를 해결하거나 작업을 저장할 수 있는 시간 확보.
  • Optimizing memory usage. 빠른 응답속도를 위한 cached memory. 그 확장을 더 효율적으로 하기 위함.. (???)
  • Optimizing Swap performance. 시스템영역과 스왑영역을 같은 디스크에 두면 성능에 좋지않다.. 이건 스왑이 필요한 이유가 아닌데...?

 

  • swap 용량을 얼마나 잡아야 하는가?
  • 최소한, 물리적으로 장작된 RAM 용량과 같을 것을 매우 권장(highly recommended) 한다.
  • 물리적으로 장착된 RAM 용량의 두배정도를 걍 권장(Also, it's recommended) 한다.
    옛날 메모리가 넘 비쌀때... 그런 권장사항이 생겼단다
  • 근데 예를 든 경우를 보니까 2G RAM 에 30G disk 인 경우 1G 쯤 잡아도 되나보다.
    그러니까..... 디스크용량이 메모리에 비해 너무 적은 경우에는 별수 없다..쯤 될까...아씨..;;;
  • 그냥.. 메모리 2G 쯤 되면 자기 메모리 만큼만 잡으면 되지 않을까 싶다. 아, 이건 만고 내생각.

 

  • 어떻게 swap 을 추가할 수 있나?
    - 대부분, OS설치시 스왑파티션을 만들지만 이미 설치된 시스템에서 추가하는 경우를 말한다.
    - 적용된 후에는 free 명령으로 확인 가능하다.
  1. Creating a file the size you want.

    • sudo dd if=/dev/zero of=/mnt/512Mb.swap bs=1M count=512

  2. Formatting that file to create a swapping device.

    • sudo mkswap /mnt/512Mb.swap

  3. Adding the swap to the running system.

    • sudo swapon /mnt/512Mb.swap

  4. Making the change permanent.

    • gksudo gedit /etc/fstab

    • Add this line at the end of the file:
      /mnt/512Mb.swap  none  swap  sw  0 0

 

  • swappiness 변경 방법
    - 커널이 프로세스를 메모리영역에서 스왑영역으로 이동시키는 정도를 설정하는 파라미터값.
    - 0 에서 100 사이 (우분투 기본값 60). 0 에 가까울 수록 사용정도가 적어진다.
  1. 현재 값 체크 (To check the swappiness value)

    • cat /proc/sys/vm/swappiness

  2. 현재 시스템에 변경값 바로 적용 - 재부팅시 반영안됨.  (To change the swappiness value A temporary change (lost on reboot) with a swappiness value of 10 can be made with)

    • sudo sysctl vm.swappiness=10

  3. 부팅시마다 적용하기 위해 설정파일 수정 (To make a change permanent, edit the configuration file with your favorite editor:)

    • gksudo gedit /etc/sysctl.conf

  4. vm.swappiness 항목을 찾아서 수정하거나, 없다면 추가한다. (Search for vm.swappiness and change its value as desired. If vm.swappiness does not exist, add it to the end of the file like so:)

    • vm.swappiness=10

  5. 저장 후 재부팅. (Save the file and reboot.)





Ubuntu swap를 사용하지 않는 방법입니다.
저는 메모리가 많이 남아서 swap를 사용안하다가 최대 절전모드를 사용하지 않기에 swap를 제거하려고 합니다.
최대 절전모드를 사용할려면 swap 이 꼭 필요합니다. 용량은 메모리 크기만큼만 잡아주셔도 문제가 없습니다.

명령어에서 아래의 명령어를 입력합니다. swapon 명령어를 통해 swap 를 다시 사용 할 수도 있습니다.

명령어는 sudo swapoff -a 를 해주면 됩니다.
그외 명령은 아래 사진을 참고하시면 됩니다.

디스크를 로드하지 않아야 완전히 사용하지 않는 것이라고 생각됩니다. 그리고 그 swap 공간을 다른 디스크로 활용도 가능하구요. 

터미널 명령어에
  sudo vi /etc/fstab 을 입력하시거나 vi 편집기가 익숙하지 않으시다면 sudo gedit /etc/fstab 을 사용하셔도 됩니다.
 그리고 아래 화면에서 # swap was on ........ 의 내용 아래에 UUID 앞에 #을 붙여넣으시면 됩니다.

위의 명령어로 swap 사용을 하지 않고, auto mount도 해제됩니다. 이제 이 swap를 가지고 다른 백업폴더나 리눅스 디스크로 사용하지면 됩니다.

http://thdev.net/127



반응형

'연구개발 > Linux' 카테고리의 다른 글

ubuntu 방화벽  (0) 2016.03.14
zabbix mail setting  (0) 2016.03.03
zabbix 3.0 설치  (0) 2016.02.23
zabbix 설치  (0) 2015.11.17
리눅스 하드디스크 추가하기  (0) 2015.04.09
반응형


https://www.fl-ops.com/mori-dojo/archives/92





Zabbix 코라 보 기획 「제 2 탄 Redmine과 함께하자 !! ~ Part1 ~ "

https://www.fl-ops.com/mori-dojo/archives/62




 "제목"는 "이벤트 ID"와 "호스트 이름"을 등록합니다. 

 "내용"은 "트리거의 이름"을 등록합니다.










Alexei Vladishev - Opening Speech

http://www.slideshare.net/Zabbix/alexei-vladishev-opening-speech



출처 : http://blog.naver.com/junix/220610357399


반응형

'연구개발 > Linux' 카테고리의 다른 글

zabbix mail setting  (0) 2016.03.03
swap  (0) 2016.03.02
zabbix 설치  (0) 2015.11.17
리눅스 하드디스크 추가하기  (0) 2015.04.09
CentOS 7.0에서 네트워크 설정  (0) 2015.03.19
반응형

Ubuntu 12.04 Zabbix 설치


https://www.digitalocean.com/community/tutorials/how-to-install-zabbix-on-ubuntu-configure-it-to-monitor-multiple-vps-servers

위에 홈페이지 설명대로 설치


추가 사항

vi /etc/apache2/apache2.conf

AddType application/x-httpd-php .php .html .htm .inc


vi /etc/php5/apache2/php.ini
post_max_size = 16M
max_execution_time = 300
max_input_time = 300
date.timezone = Asia/Seoul


php 관련 추가 설치

apt-get install php5 libapache2-mod-php5 php5-mcrypt php5-mysql

[출처] Ubuntu 12.04 Zabbix 설치|작성자 천지


반응형

'연구개발 > Linux' 카테고리의 다른 글

swap  (0) 2016.03.02
zabbix 3.0 설치  (0) 2016.02.23
리눅스 하드디스크 추가하기  (0) 2015.04.09
CentOS 7.0에서 네트워크 설정  (0) 2015.03.19
유닉스 파일 디스크립터 : > /dev/null 2>&1  (0) 2015.01.07
반응형


[출처] 리눅스 하드디스크 추가하기|작성자 조만석

http://blog.naver.com/wsg7651/220099523733



정리해보면

..

fdisk -l

추가해야할 드바이스 확인


fdisk /dev/xvdb

n 입력

p 입력

그냥 엔터


w 저장


mkfs.ext4 /dev/xvdb 로 포멧


mount /dev/xvdb /usr1   /usr1은 마운트할 폴더임..생성해줘야함.


그리고 reboot






오늘은 리눅스에 하드디스크를 추가해보겠습니다.


저는 VMware 9.0에서 CentOS6.5를 사용했습니다.


일단 터미털창에 들어가서 df -h라는 명령어를 사용하면 파티션과 총 공간, 사용한공간, 남은공간이

MB, GB단위로 사람이 보기 편하게 나옵니다



그리고 저장공간이 부족하다고 치고 하드디스크를 추가합시다

추가하기 전에 일단 시스템을 종료시키고


이 화면에서 왼쪽의 Edit virture machine setting을 클릭하고



add 버튼을 클릭한 뒤 하드디스크를 선택하고 다음

Create a new virture disk를 선택한 뒤 다음

​디스크타입을 선택한 뒤 다음

추가할 용량을 입력한 뒤 다음을 눌러주고 피니시한 뒤

가상머신을 다시 실행시켜줍니다.

​루트계정에서 터미널을 실행시키고 df -h를 하면 보여야할 하드디스크가 보이지 않습니다

​이렇게 아까와 똑같이 보이신다면 정상입니다.

​하드디스크가 들어갔는지 보기 위해서는 fdisk -l 명령어를 하면 됩니다


​이렇게 두가지 디스크가 보이는데



하나는 위에서

Disk /dev/sda: 26.8 GB, 26843545600 bytes 이건 처음부터 사용하던 하드디스크

Disk /dev/sdb: 21.5 GB, 21474836480 bytes 이게 이번에 추가한 하드디스크입니다.

하지만 하드디스크를 장착하고 아무일도 하지 않았기 때문에

파티션, 포맷 등등이 되지 않아 df -h에서 보이지 않는것입니다.


이제 하드디스크의 파티션을 나누어줄것입니다



위 사진처럼 fdisk /dev/sdb라고 입력합니다

여기서 왜 하드디스크 이름이 sdb냐고 물으실분이 있으실텐데

sdb중 sd는 scsi유형의 하드디스크를 사용한다는 뜻이고

b는 물리적인 두번째 하드디스크라는 뜻입니다

만약 하드디스크가 세번째 하드디스크라면 sdc라고 나오겠죠?

하여튼 들어오면 위의 사진처럼 나옵니다


m을 치면 명령어들과 설명을 볼수있고



​설명중 n을 보면 add a new partition 즉 새로운 파티션을

추가한다는 설명이니 n명령어를 사용합니다


그리고 파티션 종류는 프라이머리 파티션


파티션넘버는 처음파티션이니까 1

하드디스크 하나를 전부 하나의 파티션으로 사용할려면

위에사진처럼 실린더설정에서 아무입력하지않고 엔터


만약 나눠서 사용한다면 실린더로는 용량을 정확히 알수 없으니

처음실린더는 가장 첫번째 실린더를 사용하고

마지막실린더 입력할때 '+용량(K, M, G)'을 입력하면



다시 fdisk의 처음화면이 나옵니다.

여기서 w를 하면 디스크에 저장이 가능해지고 fdisk 명령에서 나가집니다.


이제 /dev/sdb1이라는 파티션이 만들어진겁니다

하지만 역시 바로사용할 수는 없습니다.

디스크 포맷형식을 정하고 포맷을 해야합니다.


이때 사용하는 명령어는 두가지 종류로 사용할수 있습니다.

일단 mkfs [-V] [-t fstype] [fs-options] device [size] 이렇게 사용하는 명령과


mkfs.ext2     mkfs.ext4     mkfs.msdos

mkfs.cramfs   mkfs.ext3     mkfs.ext4dev  mkfs.vfat

이렇게 'mkfs.파일형식'​으로 사용할 수 있습니다.

저는 아래의 방식으로 사용하겠습니다.​


​드래그한 명령을 사용하면 바로 포맷이 실행됩니다.

​이제 포맷된 디스크를 사용하는데 쓸 폴더를 정하거나 만들어줍시다



저는 home폴더를 마운트하였습니다.​

드래그한 명령을 사용하면 홈 폴더에 새로 추가한 하드디스크를 마운트 하겠다는 명령입니다.

mount /dev/파티션 /폴더이름/

​이제 마운트되었으니 사용할 수 있게 되었습니다.

하지만 지금상태로는 재부팅을 하면 부팅이 될때마다 마운트를 해주어야합니다. 그러므로 마지막 하나의 설정을 해줍시다

/etc/​fstab 파일을 수정해주면 끝납니다.

파일 편집기로 /etc/fstab을 엽니다

(저는 gedit를 사용하였습니다.)​



​열면 처음에 이렇게 되어있습니다.

이제 tmpfs를 한줄 내리고 그 자리에다가

'파티션 이름, 폴더, 포맷형식, defaults 0 3'

이렇게 적어주고 저장하면 됩니다.


이렇게요 이제 저장하면 리눅스에 하드디스크를 새로 하나 달으신겁니다.

확인하기 위해 재부팅시키고 다시 df -h명령어로 확인해보면



이렇게 /dev/sdb1이 파일시스템에 잡혀있는것을 볼 수 있습니다.


반응형

'연구개발 > Linux' 카테고리의 다른 글

zabbix 3.0 설치  (0) 2016.02.23
zabbix 설치  (0) 2015.11.17
CentOS 7.0에서 네트워크 설정  (0) 2015.03.19
유닉스 파일 디스크립터 : > /dev/null 2>&1  (0) 2015.01.07
CentOS 7 방화벽 해제  (0) 2015.01.02
반응형
  • CentOS 7.0에서 네트워크 인터페이스의 명칭이 변경되었다.
  • 지금까지는 "eth ~" 였는데,
  • 7.0부터는 "en ~ ' 로 바뀌었다. (예. enp0s2)
  • 설정 파일의 위치는 : "/etc/sysconfig/network-script" 아래에 있다.
[test @ localhost ~] $ ls -la /etc/sysconfig/network-scripts/ifcfg*
-rw-r - r-- 1 root root 321 8 월 8 09:03 /etc/sysconfig/network-scripts/ifcfg-enp0s2
-rw-r - r-- 1 root root 254 8 월 3 09:30 /etc/sysconfig/network-scripts/ifcfg-lo

네트워크를 설정해 보자.

  • 기본은 dhcp로 되어있다.
HWADDR="00:00:29:08:A5:37"
TYPE="Ethernet"
BOOTPROTO="dhcp"
DEFROUTE="yes"
PEERDNS="yes"
PEERROUTES="yes"
IPV4_FAILURE_FATAL="no"
IPV6INIT="yes"
IPV6_AUTOCONF="yes"
IPV6_DEFROUTE="yes"
IPV6_PEERDNS="yes"
IPV6_PEERROUTES="yes"
IPV6_FAILURE_FATAL="no"
NAME="enp0s3"
UUID="b3d0246c-d2ba-49c7-98fb-2c394b30e29b"
ONBOOT="yes"

고정 IP로 바꿔보자.

  • 고정 IP "192.168.0.5"로 바꿔보자.
HWADDR="00:00:29:08:A5:37"
TYPE="Ethernet"
BOOTPROTO="none"
DEFROUTE="yes"
PEERDNS="yes"
PEERROUTES="yes"
IPV4_FAILURE_FATAL="no"
IPV6INIT="yes"
IPV6_AUTOCONF="yes"
IPV6_DEFROUTE="yes"
IPV6_PEERDNS="yes"
IPV6_PEERROUTES="yes"
IPV6_FAILURE_FATAL="no"
NAME="enp0s3"
UUID="b3d0246c-d2ba-49c7-98fb-2c394b30e29b"
ONBOOT="yes"

# IP Address
IPADDR = "192.168.0.5"
# Subnet Mask
NETMASK = "255.255.255.0"
# Default Gateway
GATEWAY = "192.168.0.1"
# DNS Server
DNS1 = "192.168.0.1"
  • 바뀐 부분은 세번째 줄에 "BOOTPROTO"의 값을 "dhcp"에서 "none"으로 변경하고,
  • (IP 주소, 서브넷 마스크, 기본 게이트웨이, DNS 서버)의 내용을 추가하면 된다.

설정 파일을 수정했다면 네트워크를 다시 시작한다.

systemctl restart NetworkManager
systemctl restart network

Cent OS 7.0의 네트워크 설정이 완료되었다.


출처 : http://manseok.blogspot.kr/2014/08/centos-70.html

반응형

'연구개발 > Linux' 카테고리의 다른 글

zabbix 설치  (0) 2015.11.17
리눅스 하드디스크 추가하기  (0) 2015.04.09
유닉스 파일 디스크립터 : > /dev/null 2>&1  (0) 2015.01.07
CentOS 7 방화벽 해제  (0) 2015.01.02
cacti 설치 ubuntu  (0) 2014.12.05
반응형
문제:
유닉스 가이드를 읽던 중 아래와 같은 예제 구문이 나왔다.

$cat notexist > /dev/null 2>&1

저 /dev/null 2>&1 형태는 예전에 크론탭 동작하는 쉘에서도 언뜻 본 기억이 있는데,..
정확히 무슨 뜻일까?
 

해결책:
위 구문을 이해하기 위해 일단 유닉스의 파일 디스크립터(File Descriptor)에 대해 알아보자.

유닉스 프로그램이 파일에 뭔가 작업을 하기 위해서는 일단 파일을 열어야 한다.
이 때, 유닉스는 열려있는 파일을 구분하기 위해 파일에 간단한 숫자를 붙인다.
이 숫자를 파일 디스크립터라고 하고, 0부터 9까지 존재한다.

유닉스 프로그램은 기본적으로 아래 3개의 "파일"을 열어둔다.
- Standard Input (표준 입력, STDIN, 키보드)
- Standard Output (표준 출력, STDOUT, 스크린)
- Standard Error (표준 에러, STDERR, 스크린에 뿌려질 에러 메세지)

열려있는 표준 파일은 구분을 위해 숫자(파일 디스크립터)를 할당받으며, 각각 아래와 같다.
STDIN = 0, STDOUT = 1, STDERR = 2 

0, 1, 2 외의 파일 디스크립터(3~9)는 추가로 열리는 다른 파일을 구분하기 위해 사용된다.


리다이렉션(redirection, 재지향)은 열려있는 파일의 입출력을 다른 파일로 변활할 때 사용된다.
리다이렉터는 ">"로 나타내며, 쉽게, "모든 출력은 꺽쇠의 방향으로!" 라고 이해하면 된다. 
 

라다이렉터는 파일 디스크립터와 함께 사용될 수 있으며, 몇 가지 예를 들면 아래와 같다.

  > file
      표준 출력을 파일로 보낸다.
  1> file
      위와 동일하다. > 앞의 1은 표준 출력에 대한 파일 디스크립터를 나타낸다. 
  2> file 
      에러 출력을 file 로 보낸다.
  < file
      file로부터 표준 입력을 받는다.
  0< file
      위와 동일하다. < 앞의 0은 표준 입력 파일 디스크립터를 나타낸다.
  i>&j
      
i번 파일 디스크립터를 j번 파일 디스크립터로 리다이렉트한다.
      즉, i가 가리키는 파일의 모든 출력은 j가 가리키는 파일로 보낸다. 


따라서, 위 문제점에서의 구문은 아래와 같은 형태로 정리될 수 있다.
$cat notexist > /dev/null 2>&1


cat notexist : notexist 파일의 내용을 조회해서,
: (표준 출력으로) 나오는 결과를 다음 파일로 보낸다.
/dev/null
 : 유닉스의 블랙홀과 같은 파일이다. 이 파일을 모든 출력을 흡수한다. (보이지 않는다.)
2> : 에러 메세지가 발생할 경우에는, 즉 에러 출력을,
&1 : 1번 표준 출력 파일 디스크립터가 참조하고 있는 곳으로 보낸다.

즉, 조회한 내용과 발생한 에러 모두 표시하지 않겠다는 뜻이었다.
 

 



http://ohgyun.com/m/post/328

반응형

'연구개발 > Linux' 카테고리의 다른 글

리눅스 하드디스크 추가하기  (0) 2015.04.09
CentOS 7.0에서 네트워크 설정  (0) 2015.03.19
CentOS 7 방화벽 해제  (0) 2015.01.02
cacti 설치 ubuntu  (0) 2014.12.05
Performance, Cacti 설치 및 실행  (0) 2014.12.04
반응형
## Step 1: 방화벽을 해제합니다.
[root@localhost ~]# systemctl mask firewalld
 
## Step 2: 방화벽을 정지합니다.
[root@localhost ~]# systemctl stop firewalld
 
## Step 3: iptables service 관련packages를 설치합니다.
[root@localhost ~]# yum -y install iptables-services
 
## Step 4: boot시 service를 시작합니다.
[root@localhost ~]# systemctl enable iptables
 
## 만약 ip6tables 서비스를 사용하지 않을 경우, skip 합니다.
[root@localhost ~]# systemctl enable ip6tables
 
## Step 5: iptables services를 시작합니다.
[root@localhost ~]# systemctl start iptables
 
## 만약 ip6tables 서비스를 사용하지 않을 경우, skip 합니다.
[root@localhost ~]# systemctl start ip6tables
 
## 전체 서비스를 disable할 경우 아래와 같이 진행합니다.
[root@localhost ~]# systemctl list-unit-files | grep fire
firewalld.service                           enabled
  
[root@localhost ~]# systemctl list-unit-files | grep iptables
iptables.service                            disabled
  
[root@localhost ~]# systemctl stop firewalld
[root@localhost ~]# systemctl stop iptables
[root@localhost ~]# systemctl stop ip6tables
[root@localhost ~]# systemctl disable firewalld
rm '/etc/systemd/system/dbus-org.fedoraproject.FirewallD1.service'
rm '/etc/systemd/system/basic.target.wants/firewalld.service'
[root@localhost ~]# systemctl disable iptables
[root@localhost ~]# systemctl disable ip6tables
  
[root@localhost ~]# systemctl list-unit-files | grep fire
firewalld.service                           disabled
[root@localhost ~]# systemctl list-unit-files | grep iptables
iptables.service                            disabled


반응형

'연구개발 > Linux' 카테고리의 다른 글

CentOS 7.0에서 네트워크 설정  (0) 2015.03.19
유닉스 파일 디스크립터 : > /dev/null 2>&1  (0) 2015.01.07
cacti 설치 ubuntu  (0) 2014.12.05
Performance, Cacti 설치 및 실행  (0) 2014.12.04
cacti 설치  (0) 2014.12.04
반응형

http://www.youtube.com/watch?v=1Mq8Me2kLpI





반응형

'연구개발 > Linux' 카테고리의 다른 글

유닉스 파일 디스크립터 : > /dev/null 2>&1  (0) 2015.01.07
CentOS 7 방화벽 해제  (0) 2015.01.02
Performance, Cacti 설치 및 실행  (0) 2014.12.04
cacti 설치  (0) 2014.12.04
mysql 부팅 시 자동실행 중지  (0) 2014.12.04
반응형

Cacti

  • cacti는 SNMP 프로토콜을 사용하는 네트워크 모니터링 툴이다.
  • 관리 및 사용은 브라우저를 통해 이루어지고 모든 관리 데이터들은 MySQL을 이용하여 저장된다. 
  • Poller는 주어진 대상 시스템을 조회하여 가져온 결과를 RRD 파일에 저장하고 이 정보는 그래프를 만드는데 사용된다.


Cacti의 작업


Data Retrieval

  • cacti는 poller를 사용하여 데이터를 검색한다.
  • poller는 unix의 crontab과 같은 스케쥴러를 수행한다.
  • cacti는 원격 대상의 데이터 검색에 네트워크 관리 프로토콜인 SNMP를 사용한다. 따라서 SNMP를 사용할 수 있는 모든 디바이스는 cacti에서 모니터링 할 수 있다.


Data Storage

  • cacti는 데이터를 저장하는데 RRDTool을 사용한다.
  • 히스토리 데이터는 공간 절약을 위해 압축된다.


Data Presentation

  • RRDTool의 가장 두드러진 특징 중 하나는 그래프 함수이다.
  • 그래프에 다양한 항목을 표현할 수 있고 어떤 플랫폼에서든 거의 모든 브라우저에서 액세스 할 수 있다.
  • cacti는 주로 php로 작성되었는데 php는 웹 개발에 적합하고 쉽게 html에 적용할 수 있는 범용 스크립트 언어이다.

참고 : http://docs.cacti.net/


다운로드 및 설치

 

 $ sudo apt-get install cacti

 

    • apt-get으로 설치 시 관련 dependency 라이브러리들(php, apache2등)도 설치된다.
    • 설치 중 설정 창이 나타나면 아래와 같이 수행하면 된다.

       

       


      • WebServer는 apache2를 선택

       


        • dbconfig-common을 사용해서 데이터베이스를 설정할지 여부를 물어본다. "예" 선택
        • dbconfig-common은 cacti에 필요한 데이터베이스를 작성해주고 관리할 수 있도록 제공해준다.
        • "아니오"를 선택할 경우 수동으로 구성해줘야한다.

         


        • MySQL 암호 설정

         

          • 데이터베이스 암호까지 지정하고 설치 완료 후 Mysql 데이터베이스를 열어 보면 Cacti 관련 데이터베이스가 생성되어 있다.

          • 데이터베이스 권한 설정 : GRANT ALL ON cacti.* TO cacti@localhost IDENTIFIED BY '암호';
          • 데이터베이스 접속 정보 확인 : sudo vi /etc/cacti/debian.php


          • 이 후 http://localhost/cacti 로 접속하면 cacti 페이지가 실행 된다.

          • 최초 접속 시 아래의 절차가 표시 된다.

          • 초기 접속 계정은 admin/admin 이다.

             

             

             

             

            • Cacti에서 필요한 라이브러리들의 경로이다.
            • Not Found 일 경우에 해당 라이브러리를 설치 또는 링크 해줘야한다.



            • 설정이 완료되면 로그인 페이지가 출력된다.

             

             

            • 초기 관리자 계정(admin/admin)으로 로그인하면 비밀번호를 변경해준다.

             




            반응형

            '연구개발 > Linux' 카테고리의 다른 글

            CentOS 7 방화벽 해제  (0) 2015.01.02
            cacti 설치 ubuntu  (0) 2014.12.05
            cacti 설치  (0) 2014.12.04
            mysql 부팅 시 자동실행 중지  (0) 2014.12.04
            IOPS CHECK  (0) 2014.12.04
            반응형

            회사 네트워크 잡일을 가끔 하는 입장이라.

            NMS 관련 솔루션 검토를 맡겨 한번 설치 해봅니다.

             

            Cacti 라는 툴입니다.

            일단 여러 플랫폼에 필요한 패키지를 설치하여, 운영할 수 있으나,

            CactiEZ 라고 하는 CD 이미지 형태로 제공되는 설치가 있어, 후자를 택해봅니다.

            * 참고 설치기 :

            http://cafe.naver.com/neteg.cafe?iframe_url=/ArticleRead.nhn%3Farticleid=72700

            http://www.starhost.co.kr/xe/80513

             

            일단 아래 사이트에서 파일을 받습니다.

            http://cactiez.cactiusers.org/



             

            HTTP 로 바로 받는 방법과, Torrent 를 이용하는 방법이 있습니다.  Torrent가 확실히 빠릅니다.

             

            Virtual PC에 설치해 봅니다.








            64Bit가 아니면, 그냥 Enter 키

             

             

            알아서 설치됩니다. 아래같이…

             



             

             

            동적으로 vhd 크기를 지정했더니, 아래 그림처럼 약 2.6GB 를 할당하고 설치를 합니다.

             


             

             

            설치 마무리가 되고, 리부팅 됩니다.

             



             

            Grub 도 이쁘게(?) 만들어졌습니다.

             


             

             

             

             


             




            패스워드 : CactiEZ

            로그인 후 바로 암호를 바꿉니다.

             

            netconfig 로 IP 설정후

            service network restart

             



             

            대상 웹 페이지에 접속하여, 패스워드를 새로 정의합니다.

             



             

            드디어. 관리 화면이 나타납니다.



             

            관리 대상 장치 등을 추가하고, 그래프 보면 됩니다. Monitor 기능은 음성으로도 알려주네요. ^^~

             

            근데, 이건 멀까요? ㅎㅎ



            [출처] cacti 설치|작성자 미남짱구


            반응형

            '연구개발 > Linux' 카테고리의 다른 글

            cacti 설치 ubuntu  (0) 2014.12.05
            Performance, Cacti 설치 및 실행  (0) 2014.12.04
            mysql 부팅 시 자동실행 중지  (0) 2014.12.04
            IOPS CHECK  (0) 2014.12.04
            리눅스의 실제 메모리 사용량 보기  (0) 2014.11.27
            반응형

            시스템 부팅 시 자동적으로 Mysql을 실행할 수 있도록 설정하는 방법
            데비안(debian)에서의 설정으로 다른 리눅스에서는 안 될수도 있음!!

            1.실행 스크립트를 복사

            # cp /home/wans/src/mysql-5.0.27/support-files/mysql.server /etc/init.d/mysql
            # chmod 755 /etc/init.d/mysql


            2. update-rc.d 명령으로 자동실행 설정한다. (/etc/init.d/mysql 파일이 없으면 에러메세지가 나온다.)

            # update-rc.d -f mysql defaults


            3. 자동실행을 초기화 하고싶을 때 아래 명령어 실행~

            # update-rc.d -f mysql remove

            2009/08/03 - [Database/MySQL] - 리눅스(데비안)에서 MySQL 소스로 설치하기

            반응형

            '연구개발 > Linux' 카테고리의 다른 글

            Performance, Cacti 설치 및 실행  (0) 2014.12.04
            cacti 설치  (0) 2014.12.04
            IOPS CHECK  (0) 2014.12.04
            리눅스의 실제 메모리 사용량 보기  (0) 2014.11.27
            RSYNC 사용법  (0) 2014.11.26
            반응형

            /* 설명 

            1. percona-toolkit 설치 (apt-get install percona-toolkit)

            2. gnuplot 설치 (apt-get install gnuplot  또는 wget percona.com/get/pt-diskstats) -- 설치가 제대로 안될시에 apt-get update

            3. /root/iops_check 폴더 생성

            4. ioplot.sh, diskstats.sh 파일 생성

            5. crontab 등록


            -- 참고 driver별 iops 측정 : http://www.wmarow.com/strcalc/

            */


            ===== ioplot.sh 파일======

            #!/bin/sh


            if [ $# -ne 1 ]; then

               echo "Usage: $0 filename"

               exit 1

            fi


            gnuplot <<EOF

               set term pngcairo size 1024, 768

               set out "\/root\/iops_check\/diskstats$(date +\%y\%m\%d\%H\%M\%S).png"

               set title "pt-diskstats"

               set xdata time

               set timefmt "%H:%M:%S"

               set xlabel "Time (`date +%y/%m/%d`)"

               set ylabel "IOPS per second"

               set format x "%H:%M"

               plot "$1" using 1:3 title "r/s" with lines lc rgb "blue", "$1" using 1:6 title "w/s" with lines lc rgb "red", "$1" using 1:10 title "io/s" with lines lc rgb "green"

            EOF


            ===========================================================================================================================================================


            /* 설명


               set term pngcairo size 1024, 768 -- 이미지 해상도

               set out "diskstats`date +%y%m%d%H%M%S`.png -- 이미지로 나오는 파일명

               set title "pt-diskstats" -- 이미지 내 타이블

               set xdata time -- 시간

               set timefmt "%H:%M:%S" -- 시간포멧

               set xlabel "Time (`date + %y%m%d`)" -- x 축 이름

               set ylabel "IOPS per second" -- y 축 이름

               set format x "%H:%M" -- x 축 포멧

               plot "$1" using 1:3 title "r/s" with lines lc rgb "blue", "$1" using 1:6 title "w/s" with lines lc rgb "red", "$1" using 1:10 title "io/s" with lines lc rgb "green" -- 보여줄 필드명, 색깔지정


            "$1" using 1:3 title "r/s" with lines lc rgb "blue" 형식으로 계속 필드 추가할 수 있으며

            1:3은 /usr/bin/pt-diskstats --devices-regex=xvdb1 --interval=1 --iterations=1 --show-timestamps --columns 'rd_s|rd_rt|rd_cnc|wr_s|wr_rt|wr_cnc|busy|io_s'|grep -v '# 실행 시

            실제 보여지는 행과 필드의 순서임. 1 행 3번 필드, 1행 6번 필드..이런 형식

            */




            ===== diskstats.sh =====

            #!/bin/sh


            /usr/bin/pt-diskstats --interval=1 --iterations=1 --show-timestamps --columns 'rd_s|rd_rt|rd_cnc|wr_s|wr_rt|wr_cnc|busy|io_s'|grep -v '#' >> /root/iops_check/diskstats$(date +\%y\%m\%d).out


            /* 설명


            --devices-regex=xvdb1 -- device명

            --interval=1 -- 1초간격

            --iterations=20 -- 반복횟수

            --columns 'rd_s|rd_rt|rd_cnc|wr_s|wr_rt|wr_cnc|busy|io_s' -- 칼럼추가

            */



            ===========================================================================================================================================================




            ===== crontab =====


            -- 데이터 생성 및 추가(날짜별)

            * * * * * /root/iops_check/diskstats.sh


            -- 이미지 생성

            59 23 * * * /root/iops_check/ioplot.sh /root/iops_check/diskstats$(date +\%y\%m\%d).out



            ===========================================================================================================================================================

            반응형

            '연구개발 > Linux' 카테고리의 다른 글

            cacti 설치  (0) 2014.12.04
            mysql 부팅 시 자동실행 중지  (0) 2014.12.04
            리눅스의 실제 메모리 사용량 보기  (0) 2014.11.27
            RSYNC 사용법  (0) 2014.11.26
            Disk IO 사용률  (0) 2014.11.25
            반응형

            top에서 리눅스 시스템의 메모리 사용량을 보면 항상 대부분의 메모리가 사용중이고, free 메모리는 얼마되지 않는다.

            top - 11:56:12 up 12:29,  4 users,  load average: 0.62, 0.64, 0.66
            Tasks: 152 total,   1 running, 151 sleeping,   0 stopped,   0 zombie
            Cpu(s): 13.6%us,  6.5%sy,  0.0%ni, 79.6%id,  0.0%wa,  0.3%hi,  0.0%si,  0.0%st
            Mem:   2063588k total,  1936580k used,   127008k free,    67056k buffers
            Swap:  4016208k total,     5004k used,  4011204k free,   587292k cached


            전체 2G 메모리 중에 1.9G정도를 사용하고 있는 것으로 나온다. 
            메모리가 부족한 것인가? 
            그렇지 않다. 이는 리눅스의 os cache 때문이다. 

            리눅스는 가용메모리 전체를 os cache로 사용한다.
            평상시에는 Disk Block에 대한 cache로 사용하고, 대신 언제든지 가용 메모리로 할당할 수 있도록 준비하고 있다.
            os cache를 포함하여 그리고 임시 버퍼등의 메모리 사이즈는 가용 메모리로 봐야 한다.
            (실제 가용 메모리 = mem_free + mem_cache + mem_buffer)

            buffers, cache 영역까지 감안한 실제 메모리 사용량을 free 명령어를 통해서 확인할 수 있다.
            (-m : MB 단위로 보여주는 옵션이다.)

             $ free -m
                                     total       used       free     shared    buffers     cached
            Mem:             2015       1895        119          0         65        574
            -/+ buffers/cache:   1255    759
            Swap:              3922          4        3917

            현재 2G 메모리 중에 1255MB를 실제 사용중이고, 759MB는 언제든지 할당 가능한 가용 메모리다.





             [출처] 리눅스의 실제 메모리 사용량 보기|작성자 돌고래사육사

            반응형

            '연구개발 > Linux' 카테고리의 다른 글

            mysql 부팅 시 자동실행 중지  (0) 2014.12.04
            IOPS CHECK  (0) 2014.12.04
            RSYNC 사용법  (0) 2014.11.26
            Disk IO 사용률  (0) 2014.11.25
            /bin/bash^M: bad interpreter: no such file or directory  (0) 2014.10.08
            반응형

            rsync.conf 정보

            uid = root
            gid = dba
            max connections = 50
            use chroot = yes
            #read only = no
            #write only = yes

            hosts allow = 192.168.10.0/24 192.18.25.0/24

            [receive]
                    path = /dblab/rsync/receive_directory/
                    incoming chmod = Dug=rwx,Do=rw,Fug=rw,Fo=r
                    read only = no
                    #write only = yes

            [tmp]
                    path = /dblab/rsync/tmp/
                    incoming chmod = Dug=rwx,Do=rx,Fug=rw,Fo=r

             

            rsync 포트 : 873

             

            1. 포트 확인 방법

            nc -z 192.168.10.10 873 

            (현재 자신의 서버에서 192.168.10.10 서버로 873 포트가 open되어 있는지 확인)

             

            2.  자신의 파일을 다른 서버로 보내고자 할 때

            (해당 서버의 a.txt 파일을 rsync가 설치되어 있는 곳으로 보낸다. rsync 폴더 정보는 /etc/rsyncd.conf 로 확인할 수 있다.)

             

            rsync -avh --progress --bwlimit=40960 /home/theswice/a.txt   192.168.10.10::receive/

             

            (--bwlimit : 속도제한이여서 40960이면 다운로드나 업로드 속도가 40Mbps이상은 올라가지 않게 하겠다는 의미이다.)

             

            3. 다른 서버에서 자신의 서버로 파일을 받고자 할 때

            rsync -avh --progress --bwlimit=40960 192.168.10.10::receive/a.txt /home/theswice/

             

            4. 경로를  업로드 하고 싶을 경우

            rsync -avh --progress --bwlimit=40960 /home/theswice/   192.168.10.10::receive/

            (경로의 하위디렉토리까지 업로드하고자 할 경우에는 -avhr로 r을 옵션으로 붙여주면 된다.)

             

            5. 경로를 다운로드 하고 싶을 경우

            rsync -avh --progress --bwlimit=40960 192.168.10.10::receive/ /home/theswice/

             

            ※ 2번과 3번의 공통점은 rsync가 설치되어 있는 서버에서 명령어를 실행하는 것이 아니라

                rsync가 설치되어 있지 않은 곳에서 rsync가 설치되어 있는 서버로 명령어를 실행해줘야 한다. 

            [출처] RSYNC 사용법|작성자 theswice


            반응형

            '연구개발 > Linux' 카테고리의 다른 글

            IOPS CHECK  (0) 2014.12.04
            리눅스의 실제 메모리 사용량 보기  (0) 2014.11.27
            Disk IO 사용률  (0) 2014.11.25
            /bin/bash^M: bad interpreter: no such file or directory  (0) 2014.10.08
            TERMINATOR 설치  (0) 2014.08.06
            반응형
            • busy 또는 %util로 표기
            • iostat -x 실행시 %util에 표기되는 값

            아래는 iostat.c의 소스코드 중 일부이다.[1]

            busy = 100.0 * blkio.ticks / deltams;
            if (busy > 100.0) busy = 100.0;
             
            double deltams = 1000.0 * (
                (new_cpu.user + new_cpu.system + new_cpu.idle + new_cpu.iowait)
                - (old_cpu.user + old_cpu.system + old_cpu.idle + old_cpu.iowait)
              ) / ncpu / HZ;
            • busy의 의미는 특정 단위시간(deltams)당 디스크 I/O 처리 시간의 비율이다.
            • blkio.ticks는 요청이 큐에서 대기하는 시간이다.

             

            [출처] Disk IO 사용률|작성자 미지아빠


            반응형

            '연구개발 > Linux' 카테고리의 다른 글

            리눅스의 실제 메모리 사용량 보기  (0) 2014.11.27
            RSYNC 사용법  (0) 2014.11.26
            /bin/bash^M: bad interpreter: no such file or directory  (0) 2014.10.08
            TERMINATOR 설치  (0) 2014.08.06
            VMware로 Linux CentOS 설치하기  (0) 2014.08.06
            반응형


            vi 파일

            :set ff=unix

            :wq

            반응형

            '연구개발 > Linux' 카테고리의 다른 글

            RSYNC 사용법  (0) 2014.11.26
            Disk IO 사용률  (0) 2014.11.25
            TERMINATOR 설치  (0) 2014.08.06
            VMware로 Linux CentOS 설치하기  (0) 2014.08.06
            네트워크 포트 범위 열기  (0) 2014.07.31
            반응형

            아래 사이트 참조

            http://wiki.centos.org/AdditionalResources/Repositories/RPMForge

            1. x86_64 http://pkgs.repoforge.org/rpmforge-release/rpmforge-release-0.5.3-1.el6.rf.x86_64.rpm

            다운로드

             # rpm -Uvh rpmforge-release*rpm

            2. yum install terminator


            반응형

            '연구개발 > Linux' 카테고리의 다른 글

            Disk IO 사용률  (0) 2014.11.25
            /bin/bash^M: bad interpreter: no such file or directory  (0) 2014.10.08
            VMware로 Linux CentOS 설치하기  (0) 2014.08.06
            네트워크 포트 범위 열기  (0) 2014.07.31
            export  (0) 2014.07.08
            반응형

            http://annalee87.tistory.com/98


            VMware는 한 대의 컴퓨터로 여러대의 컴퓨터를 사용할 수 있게 해주는 프로그램이다. 윈도우뿐만 아니라 리눅스, 솔라리스, 맥 운영체제를 이용할 수 있다.


            VMware로 Linux CentOS 설치하는 방법을 포스팅하고자 한다.


            준비물

            1. VMware Workstation

            2. CentOS ISO 파일

            CentOS ISO 파일은 무료이므로 쉽게 다운로드가 가능하다. http://ftp.daum.net/ 다음에서 제공하는 ftp 서버로 여기서 다운로드가 가능하다.


            CentOS 클릭


            버전 선택. 이 블로그에서 사용한 버전은 6.5 버전임.


            isos 클릭


            x86 64 클릭

            자신의 운영체제에 따라 다르므로 확인해서 선택하길.

            자신의 운영체제가 32비트라면 i386 클릭, 64비트라면 x86 64 클릭 


            목록 중에서 용량이 제일 많은 거 클릭. CD-DVD1임.

            그러면 다운로드가 시작됨.


            3. 자신의 컴퓨터 환경 정보. (설치할 환경은 64비트, 8기가) 예를들면 64비트 램 8기가인지 32비트 4기가 인지



            설치 방법

            VMware를 실행하여 가상의 컴퓨터를 조립한다.

            Home 탭으로 가서 Create a New Virtual Machine을 클릭한다.


            Typical(권장사항)이 있고 Custom(사용자정의)가 있다. Typical은 컴퓨터로 설명하면 완제품이고, 

            Custom은 조립식으로 하나하나 설정해주어야한다. 여기서는 Custom 선택


            Virtual Machine Version을 선택한다. 

            자신이 설치한 workstation version을 선택해주면 된다. 10부터 SATA를 지원해준다.


            운영체제를 나중에 설치하겠다라고 선택하고 넘어감.


            설치할 운영체제 종류를 선택한다. Linux를 선택하고 Version을 CentOS 64-bit을 선택한다. 


            이름을 지정하고, 가상 머신을 설치할 위치를 지정해준다.


             CPU 설정하는 것인데 CPU는 자신의 컴퓨터 CPU에 종속적이다.

            자신의 컴퓨터 CPU를 사용한다고 해석하면 된다.

            프로세서를 1로 설정한다.


            가상머신의 메모리 설정하는 것인데 메모리는 자신의 컴퓨터의 메모리에 종속적이다.

            가상 메모리 또한 실제 컴퓨터의 메모리를 사용한다.


            네트워크 타입을 설정하는 곳인데 네트워크 종류들은 따로 찾아보고

            여기서는 외부 통신하기 위해 NAT로 설정한다.


            컨트롤러 종류 : LSI Logic을 선택한다.


            디스크 타입을 설정 : SCSI을 선택한다.


            위와 같이 체크하고 다음~


            디스크 용량 설정한다. 자신이 필요한 용량만큼 설정하고.

            Store virtual disk as a single file을 선택하고 Next~


            Disk 이름을 설정한다. 원하는 이름으로 입력한다.


            설정한 것들을 모두 보여주는 것이다. 설정을 확인했으면 Finish~


            리눅스 CentOS 이미지 파일을 집어 넣는다. CD/DVD 클릭한다.


            Browse를 눌러 ISO 파일이 있는 곳을 지정해주고 OK 누른다


            Power on this virtual machine을 눌러도 되고 위에 있는 화살표 되어 있는 아이콘을 눌러도 된다.


            CentOS 설치 화면이다. 첫번째를 선택하고 넘어간다.


            Skip을 눌러 Test 단계를 넘어간다.


            Next 클릭~


            원하는 언어 선택하면 된다.


            사용할 키보드 언어를 선택한다.


            기본 저장 장치를 선택하고 다음 클릭


            처음 설치하는 것이기 때문에 모든 데이터를 삭제합니다. 클릭


            호스트이름을 지정해주고 다음 클릭


            근접한 도시 선택.


            관리자 모드 들어가기 위한 암호 설정을 한다. 쉬운 암호를 지정하면 아래와 같은 경고창이 뜬다.


            그래도 쉬운 암호를 사용하겠다면 어쨌든 사용 클릭한다.


            파티션을 분할하는데 사용자 레이아웃 만들기를 선택해 수동으로 파티션 분할해준다.


            만들기를 눌러 파티션 분할을 한다.


            표준 파티션 선택하고 생성 클릭


            마운트 지점을 /로 선택하고 용량을 200MB로 지정한다.


            만들기를 눌러 표준파티션 선택 후 생성 눌러 마운트 지점을 /boot로 선택하고 용량을 200MB 지정 후 확인 클릭


            위와 같은 순서로 하되 여기서는 마운트 지점은 선택하지 않고 파일시스템 유형을 클릭하면 다음과 같은 화면이 나온다.

            swap을 찾아 선택한다.


            용량을 2048MB로 지정한다.


            / 를 선택하고 편집을 누른다.


            고정용량에서 가능한 최대 용량으로 채움을 선택하고 확인을 누른다.


            마운트 지점 / 은 용량이 200MB에서 남은 용량 38711MB로 바뀐 것을 확인할 수 있다. 


            포멧 클릭.


            디스크 변경 사항 기록 클릭한다.


            다음을 클릭한다.


            GUI 환경을 설치할 것인지 TUI 환경을 설치할 것인지 선택하는 곳이다.

            Desktop은 윈도우처럼 마우스와 키보드를 사용하여 그래픽으로 나타나는 화면이고,

            Minimal은 키보드로만 사용하여 문자 형태로 나타나는 화면이다.

            여기서는 Desktop으로 선택한다.


            이제 설치를 시작한다. 


            설치가 되면 완료되었다고 나타나는 화면이다. 재부팅을 클릭한다.


            재부팅 후 처음 화면.앞으로 클릭.


            라이센스 동의 하는 화면인데 위에 화면을 짤랐다. 앞으로 누른다.


            사용자 계정을 생성하는 곳이다.


            여기서도 암호가 취약하면 나타나는 경고창.


            날짜 및 시간 설정하는 곳이다. 설정해주어야 한다.


            경고창을 무시하고 확인을 누른다.



            로그인 화면이다. nanaing을 사용자계정이고, 기타는 관리자계정에 로그인 할 수 있는 곳이다.

            리눅스 설치가 여기서 끝났지만. VMware Tools를 설치하지 않았기 때문에 완전한 설치는 아니다.


            VMware Tools를 설처하기 위해 기타를 눌러 관리자계정으로 들어간다.

            사용자 이름을 root적고 로그인 클릭


            관리자계정으로 들어왔기 때문에 경고하는 메시지가 뜬다.


            VMware 프로그램 시작 막대 창에서 VM을 클릭하고, Install VMware Tools를 클릭한다.


            기다리면 VMware Tools 창이 뜨면서 바탕화면에 씨디 아이콘이 나타난다.

            바탕화면에 마우스를 대고 우클릭하여 Open in Terminal을 클릭한다.

            리눅스는 터미널을 이용하여 설치해야한다.


            여기서부터는 VMware Tools를 설치하기 위한 명령어만 입력한다.

            명령어 대해선 저도 잘 모르기 때문에 따로 검색하시길 바란다.

            df -h 입력하면 파일시스템에 관련된 정보들이 나타난다.

            명령어 : df -h


            /media로 시작하는 곳이 아마 cdrom일 것이다.

            ls -l /media/VMware\ Tools/를 입력한다.

            리눅스는 자동완성이 있어서 ls -l /media를 치고 tap키를 누르면 자동으로 완성된다.

            VMware Tools 시디 안에 들어 있는 파일들을 보여준다.

            명령어 : ls -l /media/VMware\ Tools/

            VMwareTools-9.6.0.~.tar.gz를 복사하여 압축을 풀어야 한다.

            명령어 : cp /media/VMware\ Tools/VMwareTools-9.6.0.-1294478.tar.gz ./


            복사한 파일을 압축을 풀어준다.

            명령어 : tar xvfz VMwareTools-9.6.0.-1294478.tar.gz


            vmware-tools-distrib/으로 이동한다.

            명령어 : cd vmware-tools-distrib/


             vmware-tools-distrib/안에 있는 파일들을 보여준다.

            명령어 : ls -l


            vmware-install.pl을 실행시킨다.

            명령어 : ./vmware-install.pl


            계속 엔터를 치면 설치가 완료되어 씨디 아이콘이 사라지고 명령어를 칠 수 있는 # 화면이 나타난다.

            reboot을 눌러 재부팅하면 VMware-Tools 설치가 완료된다.

            반응형

            '연구개발 > Linux' 카테고리의 다른 글

            /bin/bash^M: bad interpreter: no such file or directory  (0) 2014.10.08
            TERMINATOR 설치  (0) 2014.08.06
            네트워크 포트 범위 열기  (0) 2014.07.31
            export  (0) 2014.07.08
            ubuntu python mysqldb 설치  (0) 2014.07.08
            반응형

            열린포트 확인

            #cat /proc/sys/net/ipv4/ip_local_port_range


            포트 범위 확장

            #echo 1024 65535 > /proc/sys/net/ipv4/ip_local_port_range




            다른 방법으로 큐에 더 많은 연결 요청이 쌓이게 할 수 있음.

            #echo 4096 > /proc/sys/net/ipv4/tcp_max_syn_backlog

            반응형

            '연구개발 > Linux' 카테고리의 다른 글

            TERMINATOR 설치  (0) 2014.08.06
            VMware로 Linux CentOS 설치하기  (0) 2014.08.06
            export  (0) 2014.07.08
            ubuntu python mysqldb 설치  (0) 2014.07.08
            iostat 명령  (0) 2014.07.08
            반응형

            환경변수 등록법 , 해제법 , 확인법 , 환경변수 파일 즉시 적용법

            지역 환경변수
            환경변수명=변수 예) TEST=test
            * 환경변수명과 '=' 에 스페이스가 들어가면 안된다.

            전역 환경변수
            export 환경변수명=변수 예) export TEST=test

            환경변수 해제
            unset 환경변수명 예) unset TEST

            환경변수 확인법
            1. 지역 환경변수는 set 명령
            2. 전역 환경변수는 env 명령
            3. echo $환경변수명 예) echo $TEST 
            #환경변수가 가진 값은 '$' 이용하여 사용할 수 있다.

            환경변수 적용법
            source 환경파일명 예) source /etc/profile
            #환경변수를 파일에 적용해도 시스템이 재부팅되거나 쉘이 재실행 되지 않으면 파일에 적용시킨 환경변수를 사용할 수 없다. 이때는 source 명령어를 이용하여 재부팅/재실행 없이 즉시 적용할 수 있다.

            export PATH=$PATH:/usr/test

            이런식으로 export 가 들어간다면 해당 쉘이 종료되기 전까지 혹은 해당 쉘의 자식 프로세스(쉘)에서는 환경변수를 사용가능하다.

            예)

            [root@localhost test]# export TEST=test_evn

            [root@localhost test]# export TEST=test_env

            [root@localhost test]# echo $TEST

            test_env

            [root@localhost test]# /bin/bash

            [root@localhost test]# echo $TEST

            test_env


            export 가 없이 PATH=$PATH:/usr/test 이런식으로 환경변수를 등록했다면 해당 쉘이 종료되기 전까지 사용가능하다. 해당 쉘의 자식 프로세스(쉘)에서는 해당 환경변수를 사용할 수 없다.
            예)
            [root@localhost test]# TEST=test
            [root@localhost test]# echo $TEST
            test
            [root@localhost test]# sh
            sh-4.1# echo $TEST

            sh-4.1# 


            반응형

            '연구개발 > Linux' 카테고리의 다른 글

            VMware로 Linux CentOS 설치하기  (0) 2014.08.06
            네트워크 포트 범위 열기  (0) 2014.07.31
            ubuntu python mysqldb 설치  (0) 2014.07.08
            iostat 명령  (0) 2014.07.08
            시스템 모니터링을 위한 도구들  (0) 2014.07.08
            반응형

            # sudo apt-get install python-mysqldb

            반응형

            '연구개발 > Linux' 카테고리의 다른 글

            네트워크 포트 범위 열기  (0) 2014.07.31
            export  (0) 2014.07.08
            iostat 명령  (0) 2014.07.08
            시스템 모니터링을 위한 도구들  (0) 2014.07.08
            vmstat 명령어  (0) 2014.07.08
            반응형

            sysstat에서 가장 기본적인 명령어인 iostat명령은 CPU 및 디스크 입출력 통계에 대한 기본정보를 보여줍니다.

            iostat의 기본명령어 실행 시 다음과 같이 출력됩니다.



            맨 첫째줄에 시스템 커널 버전, 호스트명, 날짜가 나오고,

            두번째줄에는 마지막 재부팅 후 시스템 평균 CPU 활용률을 보여줍니다.

            %user : 사용자가 사용중인 프로세서가 사용한 시간(백분율)

            %nice : nice(작업우선순위)정책에 의해 우선순위가 바뀐 프로세서가 사용한 시간

            %system : 시스템이 사용한 시간

            %iowait : 입출력 대기 시간

            %steal : Stael CPU 사용 시간

            %idle : 유휴상태 시간


            마지막줄에는 각 디스크의 장치 활용량 리포트가 출력됩니다.

            Device : 장치명

            TPS : 초당 입출력 작업 갯수

            Blk_read/s : 초당 읽어들인 512바이트 블록수

            Blk_wrtn/s : 초당 쓰여진 512바이트 블록수

            Blk_read : 지금까지 읽어들인 512바이트 블록수

            Blk_wrtn : 지금까지 쓰여진 512바이트 블록수



            iostat의 사용법은 다음과 같습니다.

            iostat [ 옵션 ] [ 갱신주기<초> [ 리포트갯수<숫자> ] ]

            옵션

            -c : cpu 사용량 정보를 출력한다.

            -d : 디바이스의 사용량 정보를 출력한다.

            -k : 초당 블럭수 대신 초당 Kb를 사용한다. 단 이 옵션은 리눅스 커널 2.4 이상부터 가능하다.

            -m : 초당 블럭수 대신 초당 Mb를 사용한다. 단 이 옵션은 리눅스 커널 2.4 이상부터 가능하다.

            -t : 각 결과 앞에 시간을 포함해서 출력한다.

            -V : 마지막에 버전 숫자를 출력한다.

            -n : NFS(리눅스 공유 파일 시스템)의 사용량을 출력한다. 단 이 옵션은 리눅스 커널 2.6.17 이상부터 가능하다.

            -h : -n 옵션과 동일한 결과를 보여주지만 -n 보다는 가독성이 더 좋게 출력된다.

            -p [ device | ALL ] : 블록 디바이스와 시스템에서 사용되는 모든 파티션 정보를 출력한다. 디바이스 이름이 지정되면 해당 디바이스에서 사용하는 통계 정보를 제공한다. ALL을 붙여 사용하면 시스템에 정의된 모든 블록 디바이스와 파티션 정보를 한 번도 사용되지 않은 것도 포함하여 결과를 출력한다. 단 이 옵션은 리눅스 커널 2.5 이상부터 가능하다.

            -x : 보다 확장 된 통계 정보를 출력한다. 단 이 옵션을 사용 할 땐 -n 과 -p 옵션을 같이 사용 할 수 없다.

            -x를 사용 할 때 출력은 다음과 같습니다.

            여기서 나오는 출력화면의 의미는 다음과 같습니다.

            rrqm/s : 디바이스 큐에 대기중인 초당 읽기 요청의 건수

            wrqm/s : 디바이스 큐에 대기중인 초당 쓰기 요청의 건수

            r/s : 디바이스에 요청한 초당 읽기 요청의 건수

            w/s : 디바이스에 요청한 초당 쓰기 요청의 건수

            rsec/s : 디바이스에서 초당 읽어들인 섹터의 갯수

            wsec/s : 디바이스에서 초당 기록한 섹터의 갯수

            avgrq-sz : 디바이스에 요청한 초당 평균 데이터의 크기

            avgqu-sz : 디바이스에 요청한 초당 평균 큐 길이

            await : 디바이스에서 처리되기 위해서 요청된 I/O 평균 시간(밀리초, 1/1000초). 큐에서 소요된 시간과 처리된 시간이 합쳐져 출력됨.

            svctm : 디바이스에서 처리한 I/O 평균 시간 (밀리초, 1/1000초)

            -> http://blog.naver.com/idjung/150082332311

            (r/s + w/s) * svctm = t

            t / 1000 (1초) * 100(백분율) = %util

            %util = io busy


            %util : 디바이스에서 요청한 I/O 작업을 수행하기 위해 사용한 CPU 시간 비율. 이 값이 100%에 가까워지면 디바이스가 한계에 도달했다고 보면 됨.


            갱신주기와 리포트 갯수는 다음 예시를 보면 이해가 빠릅니다.

            1초의 갱신주기를 가지고 총 3번 출력 해주게 하려면

            1초에 한번씩 총 3번의 결과가 출력됩니다.

            watch 명령어와 조합해서 사용할 수 도 있습니다.

            이상으로 iostat 명령을 마칩니다.



            반응형

            '연구개발 > Linux' 카테고리의 다른 글

            export  (0) 2014.07.08
            ubuntu python mysqldb 설치  (0) 2014.07.08
            시스템 모니터링을 위한 도구들  (0) 2014.07.08
            vmstat 명령어  (0) 2014.07.08
            [ubuntu] system benchmarking tool  (0) 2014.07.07
            반응형

            서버 사이드 엔지니어들의 주요 관심 사항 중에 하나가 서버 부하를 모니터링해서 튜닝 포인트를 찾는 일일겁니다. 지금도 서버 부하와 싸우는 엔지니어들도 있을 테니깐요.
            그래서 이번에는 부하의 원인을 규명하기 위해 사용하는 리눅스 커맨드에 대해서 정리해 보았습니다.

            일반적인 커맨드들을 활용 방법들

            1. top을보고 상위에 붙어있는 프로세스를 확인하면서 CPU나 I/O의 어느 문제인지 판별
            - 프로세스의 Fullpath를 알고 싶으면 'c'를 누름.
            - 개별 CPU의 성능 정보를 볼려면 '1'을 누름.
            - 정렬은 'shift'+ 'm'에서 메모리 정렬, 'shift'+ 'o'로 정렬 필드를 선택할 수 있음.
            - 'k' 로 프로세스를 kill 시킬 수 있음.
            - top -u %UserName% 사용자 계정 단위로 프로세스 확인 가능.

            2. ps로 프로세스의 상태를 확인 (T), (D)상태에서 CPU나 I/O의 어느 문제인지 판별
            - ps -e -o pid,args --forest : 프로세스의 트리를 보여줌.
            - ps -f -u k2,mysql : 사용자 계정별로 프로세스 정보 확인.
            - ps -f --ppid 9576 : pid나 ppid로 프로세스 조회.
            - ps -p 1,28641 -o pid,etime= : 프로세스 구동 후 경과 시간 정보 확인.
            - ps -C java -L -o pid,tid,pcpu,state,nlwp,args : 프로세스의 쓰레드 정보 조회.
            - ps aux --sort pmem : 메모리 정보 조회해서 메모리 많이 차지하는 프로세스는 'ps ev --pid=28641'로 해서 개별 프로세스를 감시할 수 있음.

            3. vmstat에서 procs의 r, b의 수, swap의 si, so 상태, I/O의 bi, bo 상태, cpu에서 us, sy, id 상태를 확인
            - vmstat의 r이 cpu 수 이상이면 실행 프로세스 큐가 cpu를 기다리고있는 상태.
            - b가 0보다 크다면 I / O 대기로 인터럽트가 금지되는 프로세스 수가있다는 것.
            - memory에서 swpd가 0보다 크다면 스왑을 사용 중이며 메모리 부족.
            - bi, bo이 많을 경우 블록 전송이 빈발하고 있음.
            - vmstat 명령어 결과에 시간 표시하기 : vmstat 1 5 | timestamp.pl

            $ vi timestamp.pl
            #!/usr/bin/perl
            while (<>) { print localtime() . ": $_"; }
            


            - vmstat -m : slab 정보 표시.
            - vmstat -s : 전체 통계 정보 요약.
            - vmstat -d : 디스크 통계 정보 조회.
            - vmstat -p sdb1 : 디스크 파티션 정보 조회.

            4. sar를 사용하여 os 상태 추가 확인
            - sar -W 1 5 에서 pswpin/s pswpout/s 0보다 클 경우 스왑 발생하고 있어서 메모리 부족.
            - sar 1 5 CPU 정보
            - sar -q 1 5 : 평균 부하 및 작업 실행 큐에 대한 정보.
            - sar -r 1 5 : 메모리 정보.
            - sar -u -P ALL 1 5 : 프로세 서당 CPU 사용률에 대한 정보.
            - sar -b 1 5 : I/O 통계 정보 조회.
            - sar -d 1 5 : Block Device I/O 통계 조회.
            - sar -w 1 5 : 초당 context switch 정보 조회.
            - sar -n DEV 1 5 : 네트워크 통계 조회.

            5. iostat을 사용해서 디스크 I/O 정보 확인
            - iostat -c : Cpu 정보 조회.
            - iostat -d : Disk I/O 정보 조회.
            - iostat -n : 네트워크 정보 조회.
            - iostat -p sda : 디바이스별 I/O 통계.
            - iostat -x sda1 : 상세 Disk I/O 정보 조회.

            dstat을 활용한 방법들

            1. 유용한 dstat 커맨드들
            - dstat -Tclmdrn : 전체 정보 조회.
            - dstat -Tclm : 메모리 정보 조회.
            - dstat -Tclr : CPU 정보 조회
            - dstat -Tclnd : 네트워크 정보 조회.
            - dstat -Tcldr : 디스크 정보 조회.
            - dstat --top-cpu --top-cputime : CPU 부하가 크고 전체 높은 CPU 타임을 가진 프로세스 조회.
            - dstat --top-cpu-adv : CPU 부하가 큰 프로세스 상세 정보 조회.
            - dstat --top-io --top-bio : 가장 IO를 많이 발생하는 프로세스 조회.
            - dstat --top-io-adv --top-bio-adv : 가장 IO를 많이 발생하는 프로세스 상세 정보 조회.
            - dstat --cpu --sys --disk --net 1 5 : CPU, SYSTEM, DISK, NETWORK 정보 조회.
            - dstat -tal --top-io --top-cpu --top-mem : 전체 정보 조회.

            2. dstat으로 MySQL 모니터링
            MySQL을 모니터링 하려면 Python의 MySQLdb 라이브러리가 설치되어 있어야 한다.

            $ export DSTAT_MYSQL_USER=user
            $ export DSTAT_MYSQL_PWD=pwd
            $ export DSTAT_MYSQL_HOST=localhost
            $ dstat -T --mysql5-cmds --mysql5-conn --mysql5-io --mysql5-keys
            --epoch--- ------mysql5-cmds------ mysql5-co -mysql5-io- ---mysql5-key-status----
              epoch   | sel   ins   upd   del |ThCo %Con| recv  sent|used read writ rreq wreq
            1330500331|    0     0     0     0|0.00 0.00|0.02  0.11 |  0    0    0    0    0 
            1330500332|    8     0     0     0|4.00 1.60|9796B 59.8k|  0    0    0    0    0 
            1330500333|    8     0     0     0|4.00 1.60|9.90k 61.1k|  0    0    0    0    0 
            1330500334|    8     0     0     0|4.00 1.60|10.2k 62.5k|  0    0    0    0    0 
            


            3. dstat으로 MySQL Innodb 모니터링

            $ export DSTAT_MYSQL='-uuser -ppwd -hlocalhost'
            $ dstat -T --innodb-io --innodb-buffer --innodb-ops
            --epoch--- innodb-io-o innodb-pool ---innodb-ops--
              epoch   |rea wri syn|crt rea wri|ins upd del rea
            1330500814|  0   0   0|0.2 1.0  11|  0   0   0   0
            1330500815|  0   0   0|3.0 1.0 139|  0   0   0   0
            1330500816|  0   0   0|3.0 5.0 172|  0   0   0   0
            1330500817|  0   0   0|5.0 5.0 133|  0   0   0   0
            


            [참조 사이트]


            반응형

            '연구개발 > Linux' 카테고리의 다른 글

            ubuntu python mysqldb 설치  (0) 2014.07.08
            iostat 명령  (0) 2014.07.08
            vmstat 명령어  (0) 2014.07.08
            [ubuntu] system benchmarking tool  (0) 2014.07.07
            sar 명령어를 이용한 시스템 모니터링  (0) 2014.07.07
            반응형

            vmstat는 프로세스, 메모리, 스왑, 입출력, 시스템 및 CPU 활동 상황에 대한 정보를 출력해주는 명령어 입니다.


            ===========================================================================================

            # vmstat

            procs   ------------memory------------   --swap--  ----io----  ---system---  ------cpu-------

             r   b     swpd       free       buff     cache    si    so       bi     bo         in    cs  us   sy   id   wa   st

             0   0           0     57628     82104    719004     0      0       99     54     1010     80    1     1   98     0    0

            ===========================================================================================


            위의 정보처럼 기본값 2초의 갱신주기를 가지고 10개의 결과값을 보여줍니다.


            procs

               r : 실행을 위해 기다리고 있는 프로세스의 수

               b : 계속 유휴(sleep) 상태인 프로세스의 수

               c : swapped out 되었거나 실행 가능한 프로세스의 수

               

            memory

               swpd : 가상메모리로 사용되는 크기(kb)

               free : 여유 메모리의 크기(kb)

               buff : 버퍼에 사용되고 있는 메모리의 크기(kb)

               cache : 페이지 캐쉬에 사용된 메모리의 크기

               

            swap

               si : 스왑 인(swapped in : 초당 디스크에서 스왑된) 메모리의 크기

               so : 스왑 아웃(swapped out : 초당 디스크로 스왑되어 나간) 메모리의 크기

               *스왑 아웃 - 물리적 메모리가 부족할 경우 사용되고있는 물리적 메모리를 해제하는것을 의미함

               *스왑 인 - 스왑 아웃된 내용이 다시 필요할 경우 이를 다시 불러오는것을 의미함


            io

               bi : 블록 장치에서 받은 초당 블록 수 (block/s)

               bo : 블록 장치에 내보낸 초당 블록 수 (block/s)

               

            system

               in : 초당 발생한 인터럽트의 수

               cs : 초당 발생한 문맥 전환 작업의 수

               

            cpu

               us : 사용자 코드를 수행하는데 소요된 시간 (이 수치가 높다면 계산을 많이 하고 있다고 생각하면 됨. nice 시간 포함)

               sy : 시스템에 의해 사용 된 시간

                      (이 수치가 높으면 프로세스들이 시스템 호출을 또는 I/O를 많이 수행되고 있다고 생각하면 됨. 커널코드를 수행하는데 소요 된 시간)

               id : 유휴 시간

               wa : 입출력 대기

               st : 가상화를 사용하고 있다면 가상머신 CPU의 계산으로 대기 된 시간

               

            vmstat는 옵션을 사용할 수 있는데, 각 옵션은 다음과 같습니다.


            vmstat [-V] [-n] [delay [count]]

                          -V vmstat의 버젼을 보여준다

                          -n 주기적으로 헤더를 출력하지 않고 단한번만 헤더 정보를 출력하게 지정한다.

                          -a buff와 cache 대신 active와 inactive 메모리 사용량을 출력해준다.

                          

                          -----------memory-----------                       -----------memory----------

                          swpd      free      buff     cache        ====>       swpd     free     inact    active

                                0    55024    85088    719004                             0   54900   616916   263876

                                

                          -d 각 영역 별 디스크 사용량을 보여준다.

                          -D 전체 디스크 통계를 보여주고, 단 한번만 결과를 출력해준다.

            소문자 d 와 대문자 D 의 차이점은 d는 각 디스크별 결과를 제공하지만 D는 전체 디스크의 합이라고 보면 된다.

                          -p diskpartition 지정한 디스크 파티션에 대한 통계 정보를 확인 할 수 있다.

                          -s 부팅 시작부터 os상에서 수행된 이벤트와 메모리 사용량에대한 통계를 단 한번 출력해준다.

                          -m slab에 대한 정보를 출력한다. 이 명령은 delay를 지정하면 지정된 간격으로 결과를 출력하며 -n 옵션 사용 시 결과 내 딱 한 헤더를 출력한다.

                          -S unit-size 출력되는 데이터의 단위를 지정할 수 있다. 단위는 k, K, m, M 4가지가 있고,

            각각 k:1000, K:1024, m:1000000, M:1048576 으로 나눈 값을 출력해준다.

                          delay [count] 결과의 출력 주기를 의미한다. 이 값을 지정하지 않으면 한번만 수행되고 종료된다. 

                          

            -d 옵션의 추가 설명

            =================================================================================================

            # vmstat -d

            disk-  ----------------reads----------------   ---------------writes---------------   -----IO-----

                        total     merged      sectors           ms       total    merged     sectors           ms     cur     sec

            ram0         0              0               0              0           0             0              0             0         0        0

            ram1         0              0               0              0           0             0              0             0         0        0

            sda    37615        19080       1520651        31091     11921      94990       855454     342418         0       24

            =================================================================================================


            reads

              total : 성공한 모든 읽기 작업 갯수

              merged : 하나의 I/O로 묶은 읽기 작업 갯수

              sectors : 성공적으로 읽은 섹터 갯수

              ms : 읽기 작업을 하는데 소요된 시간(밀리초-ms)

              

            writes

              total : 성공한 모든 쓰기 작업 갯수

              merged : 하나의 I/O로 묶은 읽기 작업 갯수

              sectors : 성공적으로 쓴 섹터 갯수

              ms : 쓰기 작업을 하는데 소요된 시간(밀리초-ms)

              

            IO

              cur : 현재 수행중인 I/O 갯수

              sec : I/O를 수행하는데 소요된 시간(초)

            반응형
            반응형

            [ubuntu] system benchmarking tool.

            ubuntu 에서 cpu사용량 및 memory 사용량 변화에 대해 모니터링 하는 방법에 대해 효과적으로 할 수 있는 툴이 있나 찾던중

            sar (system activity reporter ) 라는 도구를 찾아 사용법에 대해 리뷰를 하고자 합니다.

            일단 모니터링에 앞서 시스템의 어떤 영역에 대한 모니터링을 할 것인지 알아야 합니다.

            따라서 Linux 운영체제의 i/o stack에 대해 먼저 이해 하는것이 좋습니다.



            [그림 1] Linux i/o stack - 출처 :http://major.io/



            [그림 2] Linux System Layout and Analysis Tools  - 출처 :http://major.io/



            step1. sar 설치

            rocksea@ubuntu:~$ sar

            The program 'sar' can be found in the following packages:

             * sysstat

             * atsar

            Try: sudo apt-get install <selected package>

            위 두가지 패키지에 대해 설치하라고 나옵니다.

            rocksea@ubuntu:~$ sudo apt-get install sysstat

            rocksea@ubuntu:~$ sudo apt-get install atsar

            isag ( Interactive System Activity Grapher ) 설치

            그래프를 이용하여 결과를 리포팅 해주는 도구도 권장 설치합니다.

            rocksea@ubuntu:~$ sudo apt-get install isag


            step2. sar를 이용한 간단한 모니터링

            user , kernel 에서의 cpu  사용률에 대해 확인할 때 유용합니다.

            $ sudo sar -u 5 20

            Linux 3.2.0-41-generic (ubuntu)         05/29/2014      _i686_  (2 CPU)


            05:53:37 AM     CPU     %user     %nice   %system   %iowait    %steal     %idle

            05:53:42 AM     all      2.18      0.00     26.11      0.00      0.00     71.71

            05:53:47 AM     all      2.27      0.00     26.34      0.00      0.00     71.38

            05:53:52 AM     all      2.04      0.00     27.42      0.00      0.00     70.54

            05:53:57 AM     all      3.20      0.00     25.67      0.00      0.00     71.13

            05:54:02 AM     all      3.66      0.00     20.34      0.00      0.00     76.00

            05:54:07 AM     all      1.92      0.00     20.51      0.00      0.00     77.56

            05:54:12 AM     all      1.51      0.00     11.41      0.00      0.00     87.08

            05:54:17 AM     all      2.54      0.00     11.11      0.00      0.00     86.35

            05:54:22 AM     all      1.03      0.00      5.04      0.00      0.00     93.94

            05:54:27 AM     all      1.01      0.00      0.30      0.00      0.00     98.69

            05:54:32 AM     all      0.80      0.00      0.90      0.00      0.00     98.29

            05:54:37 AM     all      0.80      0.00      0.50      0.00      0.00     98.69

            05:54:42 AM     all      1.01      0.00      0.30      0.00      0.00     98.69

            05:54:47 AM     all      0.91      0.00      0.30      0.00      0.00     98.79

            05:54:52 AM     all      0.80      0.00      0.60      0.00      0.00     98.60

            05:54:57 AM     all      0.91      0.00      0.20      0.00      0.00     98.89

            05:55:02 AM     all      1.01      0.00      0.60      0.00      0.00     98.39

            05:55:07 AM     all      0.70      0.00      0.40      0.00      0.00     98.89

            05:55:12 AM     all      0.70      0.00      0.90      0.00      0.00     98.39

            05:55:17 AM     all      0.81      0.00      0.40      0.00      0.00     98.79

            Average:        all      1.47      0.00      8.81      0.00      0.00     89.72


            다음번에 추가로 GUI로 표현하는 방법에 대해서도 포스팅 하도록 하겠습니다.



            http://rocksea.tistory.com/264

            반응형

            + Recent posts

            반응형