글쓴이 보관물: totoli78

utorrent 3. or highter 광고 제거 방법

옵션메뉴에서 설정으로 들어가서 고급설정에서 아래 항복의 값을 모두 false로 바꿔주시줌

bt.enable_pulse
distributed_share.enable
gui.show_notorrents_node
offers.left_rail_offer_enabled
gui.show_plus_upsell
offers.content_offer_autoexec
offers.sponsored_torrent_offer_enabled
offers.featured_content.badge.enabled
offers.featured_content_notifications_enabled
offers.featured_content_rss_enabled

옵션 메뉴열어놓고 쉬프트키와 F2키를 누른채로 설정 메뉴로 진입하시면 아래 메뉴들이 고급설정에 나타남
아래 값도 모두 false로 바꿔주시면 업그레이드, 플러스 업글 유도 광고도 사라지고 깔끔한 torrent사용하실수 있음

gui.show_gate_notify
gui.show_plus_av_upsell
gui.show_plus_conv_upsell
gui.show_plus_upsell_nodes

OCC Command

## DB와 파일 정보 동기화

-. owncloud 유저 / 특정 폴더 동기화

sudo -u www-data php /var/www/owncloud/console.php files:scan totoli

sudo -u www-data php /var/www/owncloud/console.php files:scan –path “totoli/files/private”

 

-. 유저 모두

sudo -u www-data php /var/www/owncloud/console.php files:scan –all

 

## Solr 색인

-. 전체 색인

occ nextant:index [ — background –unlock ] : bg job

 

-. 실시간 색인

occ nextant:live

 

eclipe 퍼포먼스 설정

Preferences → General : Show Heap status : 메모리 사용상태와 GC 강제 실행 버튼를 보여줌.

Preferences → General → Editors → Text Editors : Show line numbers

Preferences → General → Appearance → Colors and Fonts : Basic Text Font를 나눔고딕코딩 혹은 그 외 코딩용 글꼴로 변경한다. 코딩용 글꼴은 고정폭이고 숫자 1,대문자 아이(I), 소문자엘(l), 숫자 0과 알파벳 오(O)를 구분 할 수 있어야 한다.

Preferences → General → Editors → Text Editors에서 배경색 눈 안아픈 회색 톤으로 조정

Preferences → General → Workspace에서 Text file encoding과 New text file delimiter의 기본 값을 정해준다.

Maven과 연동해서 사용할 경우, Maven 빌드에서 생성한 target 디렉토리의 JSP/HTML 등을 Eclipse가 Validation하느라 상당한 시간을 소모하기도 한다. 이 때는 Preferences → Validation → 각 항목에서 Exclude Gruop을 만들고 target/ 디렉토리를 Rule로 추가한다.

Preferences → Team → Ignored Resources에 target과 bin 등의 빌드 디렉토리 추가.

Windows 환경 성능 최적화

프로젝트 폴더의 속성 → 일반 → 고급 : 이 폴더의 파일 속성 및 내용 색인 허용 체크 해제

백신 프로그램의 실시간 감시에서 프로젝트 폴더를 예외로 설정한다.(파일 락을 거는 현상도 줄어들겠지?)

기타 최적화

spell check 해제 : Preferences → General → Editors → Text Editors → Spelling에서 체크 해제.

Validation에서 build 쪽은 꼭 필요한 것만 남기고 모두 해제

General → Appearance → Label Decorations에서 SVN/CVS 및 기타 등등의 데코레이션 제거.

DIFF에서 공백 무시

Preferences → General → Compare/Patch에서 Ignore white space 체크

저장시 액션 지정 : [이클립스 팁] 이클립스 파일 저장시 공백 없애기 참조

Preferences → Java → Editor → Save Actions 에서 저장시 액션들을 지정한다.

Remove Trailing whitespace 선택

Remove unused imports 선택, …

Preferences → JAVA → Editor → Typing -> automatically close 상단 3개 체크 해제 (WEB->HTML도 3개 옵션 삭제)

> preferences -> Java -> Installed JRES -> 체크된 jdk / jre를 선택하고 설정한다.(-XX:PermSize=2048M -Xms=2048 -Xmx4096m)

windows process 우선순위 및 리소스 할당 제어

1.

윈도우를 사용하보면 여러가지 프로그램을 동시에 띄어서 사용하는 경우가 많습니다. 윈도우 시스템이 정상 동작하는데 필요한 필수프로그램을 빼고 사용자가 필요에 의해 실행하게 되는 백그라운드 프로그램도 있는데요, 윈도우7에서 실행할 수 있는 가젯인 sidebar가 대표적인 경우라고 할 수 있겠네요. sidebar 뿐만 아니라 메일프로그램, 음악을 항상 듣는다면 푸바 같은 음악프로그램도 윈도우 백그라운드에서 항상 작동한다고 볼 수 있습니다.

 

이같은 다중작업(Multi Tasking)환경에서 컴퓨터의 cpu는 항상 부담을 가진다고 하는데요, cpu가 듀얼코어 이상이라면 윈도우가 알아서 각각의 cpu에 작업을 적절히 배분해서 cpu의 부담을 덜어준다고 합니다. 특히 윈도우7 같은 경우는 cpu의 멀티코어에 최적화되어 있어서 사용자는 크게 신경을 쓰지 않아도 된다고 합니다.

하지만 프로그램의 최적화나 속도, cpu 멀티코어 활용 극대화 등에 민감한 사용자들을 위해서 윈도우는 “작업관리자”를 통해서 좀더 효율적인 cpu활용을 할 수 있도록 옵션으로 제공하고 있습니다.

 

작업표시줄에 마우스커서를 위치시키고 오른쪽클릭해서 “작업관리자”를 선택하면 아래 그림과 같이 현재 실행 중인 프로그램의 프로세스들이 나열되어 있습니다. 설정하고 싶은 프로그램의 프로세스를 오른쪽클릭하면 『우선 순위 설정』 과 『선호도 설정』 이라는 항목이 나타나는데 여기서 특정 프로세스로 하여금 cpu를 어떻게 이용하게 할 것인지 선택하게 됩니다. “우선 순위 설정”은 말 그대로 cpu가 프로세스를 처리할 때 설정한 우선 순위 순서대로 처리하게 하는 옵션이고, “선호도 설정”은 멀티코어에서 특정 cpu코어에서만 처리하게 할 수 있는 옵션입니다.

제 시스템은 쿼드코어이므로 cpu가 4개가 보입니다. 보통 프로그램들은 cpu 0, cpu 1 을 많이 사용하는 경향이 있다고 하고, 앞의 두 코어가 이상하게 온도가 높으므로 백그라운드에서 실행되는 sidebar는 뒤의 두 코어만 체크하여 선호도 설정을 해주었습니다. cpu코어 하나에만 체크하셔도 무방할 것 같네요. “우선 순위 설정”은 “낮음”에 체크해서 다른 메인프로그램이 조금이나마 원활히 돌아가게 설정해두었습니다.

 

윈도우시스템을 기동하는데 필요한 필수프로세스들은 그냥 기본값으로 놔두는 것이 좋다고 합니다. 아예 바꿀 수 없도록 되어 있는 것도 있습니다.

 

 

 

오래된 구형 프로그램의 경우 멀티코어 CPU 환경을 지원하지 않아서 작업효율에 문제가 있거나 심지어 실행에 문제가 발생한다고도 합니다. 그럴 때 “프로세서(cpu) 선호도”를 하나만 선택해서 실행하면 문제가 해결된다고 합니다.

 

2.

윈도우를 재부팅하거나 해당 프로그램을 종료한 후 재실행했을 때에는 cpu 설정은 원래대로 초기화됩니다. 작업관리자에서 다시 하나하나 설정할려면 귀찮은데요, 윈도우를 재시작하거나 프로그램을 재실행했을 때 사용자가 설정한 값으로 고정해서 실행되게 하려면 몇 가지 방법이 있습니다.

 

– 윈도우의 command 명령어를 이용하는 법

 

윈도우 시작 후 특정 프로그램 실행하는 경우:

프로그램의 바로가기 아이콘을 오른쪽클릭하여 속성을 선택합니다. 바로가기 탭의 “대상”란의 앞부분에 다음과 같은 명령어를 입력합니다.

 

C:\Windows\System32\cmd.exe /c start /low /affinity 1 프로세스이름.exe

 

/low 부분은 “우선 순위 설정” 명령어로 다음의 값을 쓸 수 있습니다. (생략하면 기본값으로 실행됩니다. 우선 순위를 미리 지정해 놓았거나 프로그램옵션에서 우선순위를 설정할 수 있는 프로그램, 예를 들어 다음팟플레이어같은 동영상프로그램은 적용되지 않을 수 있습니다. 어떤 프로그램은 고정해놓고 유저가 못바꾸도록 되어 있는 것도 있는 것 같네요.)

 

realtime : 실시간

high : 높음

abovenormal : 높은 우선 순위

normal : 보통

belownormal : 낮은 우선 순위

low : 낮음

 

/affinity 1 부분은 “선호도 설정” 명령어로 숫자 부분에 다음의 값을 쓸 수 있습니다. (윈도우vista 이상, 윈도우7의 경우에만 해당)

4 core인 경우의 값입니다. (16진수 mask 값입니다. 8 core인 경우에는 affinity mask 8 core 로 검색해 보세요)

 

 

포터블 Thunderbird 에 적용해 보면 다음과 같이 됩니다.

 

예:

 

C:\Windows\System32\cmd.exe /c start /low /affinity c “D:\Portable Programs\ThunderbirdPortable” ThunderbirdPortable.exe

 

※ 띄어쓰기를 주의해야 합니다. “D:\…” 부분은 생략할 수 있습니다. 적용하면 아이콘이 바뀌는데 ‘아이콘 변경’을 클릭하여 해당 실행파일(예: ThunderbirdPortable.exe)이 위치한 디렉토리로 가서 exe파일을 선택해서 나오는 아이콘 그림을 선택하면 됩니다.

 

– 추가 정보

윈도우XP 의 경우는 /affinity 명령이 적용되지 않습니다. 따로 유틸을 사용해서 선호도 설정을 고정해야 합니다. 몇몇 유틸들이 있지만 보통 StartAffinity 라는 유틸을 많이 사용합니다.

이 링크로 가서 startAffinity1.3.1 binary 파일을 다운받거나 첨부한 파일을 받습니다.

첨부파일:  StartAffinity_bin_1.3.1.zip

 

다운받은 압축파일 내에 있는 StartAffinity.exe 파일을 C:\windows\system32 폴더에 압축해제해 넣습니다.

사용하려면 [StartAffinity 프로세스이름.exe 0 1] 과 같은 명령을 입력해야 합니다. 숫자가 cpu 코어입니다.

썬더버드에 적용해보면 다음과 같습니다.

 

예:

 

C:\Windows\System32\cmd.exe /c start /low affinity “D:\Portable Programs\ThunderbirdPortable” ThunderbirdPortable.exe 0 1

 

 

 

– 윈도우 시작과 함께 자동 실행하기 위해 시작프로그램으로 등록하려는 경우, 다음과 같이 할 수 있습니다.

 

윈도우탐색기로 “D:\Portable Programs\ThunderbirdPortable” 디렉토리 안으로 가서 빈 곳에 오른쪽클릭후 ‘새로만들기’ – ‘텍스트문서’를 만듭니다. 파일이름은 실행파일이름과 같게 합니다(임의로 정할 수도 있습니다). 더블클릭해 텍스트파일을 열고 다음과 같은 형식으로 입력합니다.

 

start /low /affinity c “D:\Portable Programs\ThunderbirdPortable” ThunderbirdPortable.exe

 

저장한 후 텍스트파일을 오른쪽클릭하여 이름바꾸기를 선택해서 파일의 확장자 .txt 를 .bat 로 바꾸어서 입력합니다. 확인합니다.

.bat 이라는 배치파일이 만들어졌으면 속성에 들어가 아이콘을 바꾸어 줄 수 있습니다.

“D:\…” 부분은 방금 만든 텍스트파일이 실행파일과 같은 디렉토리 내에 있으면 생략해도 됩니다. 배치파일을 다른 곳에 만들어서 사용하고 싶다면 반드시 ”  “안에 경로를 입력해줘야 합니다.

 

이제 시작프로그램에 등록하기 위해 썬더버드 옵션에 들어가 ‘윈도우 시작과 함께 프로그램 실행’ 과 비슷한 옵션이 있으면 체크하고 시작프로그램에 등록합니다.

시작프로그램에 등록된 exe 실행파일을 bat파일로 바꾸기 위해 썬더버드 실행파일이 시작프로그램으로 등록된 정보가 있는 곳으로 가서 exe라는 확장자를 bat으로 바꾸어주면 됩니다.

데스크탑 좌측 하단의 시작버튼을 누르면 나타나는 ‘프로그램 및 파일 검색’ 란에 msconfig 를 입력하고 엔터를 칩니다. 시스템구성 창이 뜨면 시작프로그램 탭을 선택합니다. 등록된 프로그램 중 썬더버드를 찾아 ‘위치’를 확인하여 기억해 둡니다.

다시 ‘프로그램 및 파일 검색’ 란에 regedit 를 입력하여 레지스트리 편집기를 엽니다. 기억해 둔 위치로 찾아가서 썬더버드 항목을 찾습니다. 항목을 더블클릭하여 ThunderbirdPortable.exe 라는 값의 exe를 bat으로 바꿔 입력하고 확인합니다.

이제 고정된 cpu 설정으로 프로그램을 자동실행할 수 있습니다.

 

# 참조 링크

 

http://www.eightforums.com/tutorials/40287-cpu-priority-shortcut-program-create-windows.html

http://www.eightforums.com/tutorials/40339-cpu-affinity-shortcut-program-create-windows.html

 

3.

위의 과정들이 너무 귀찮고 번거롭다면 cpu 설정을 고정시킬 수 있는 프로그램을 따로 사용할 수 있습니다.

잘 알려진 유틸로 process Lasso 같은 프로그램이 있습니다. 프로세스 제어와 관리를 할 수 있는 유틸로 다양하고 막강한 기능으로 파워유저들이 많이 사용하는 것 같습니다.

더 알고 싶으신 분들은 아래 링크를 참고하면 좋을 것 같습니다.

 

http://13blog.tistory.com/10

http://bitsum.com/prolasso.php

 

좋은 유틸이긴 하나 너무 복잡한 것 같아 저는 그냥 System Explorer라는 유틸을 사용합니다. Process Explorer 와 같이 윈도우의 작업관리자의 부족함을 메꿔주는 유용한 유틸입니다. 둘 다 다양한 기능이 있지만 system explorer에만 cpu 설정을 고정시키는 기능이 있더군요. 한글도 지원하고요. 아래 링크에서 다운받으시면 됩니다. 설치할 필요가 없는 portable version을 추천드립니다.

http://systemexplorer.net/download-type.php

실행해서 자신에게 맞는 설정을 마친 후 ‘프로세스’ 항목에 들어가 cpu 설정을 할 수 있습니다. cpu 설정을 고정하고 싶은 프로세스로 가서 오른쪽클릭후 우선순위설정과 선호도설정을 체크하고 반드시 “영구적”이라는 항목에 체크를 해야 됩니다.

다른 프로그램도 설정하고 싶다면 차례대로 하면 됩니다. 이 때 “영구적”이라는 항목이  체크되어 있는 경우가 있는데 그럴 때는 “영구적” 이라는 항목을 체크해제했다가 다시 체크해야 할겁니다. 그래야 정확하게 등록됩니다.

system explorer 실행폴더에 내에 ‘processescfg.db’라는 파일에 설정이 저장되어 있습니다. 파일을 notepad로 열어보면 자신이 설정한 프로세스들이 등록되어 있을 겁니다. 절대로 편집, 수정해서는 안됩니다.

 

 

 

등록된 cpu 설정으로 프로그램을 실행하려면 반드시 system explorer가 실행된 상태여야 합니다. 아니면 설정된 프로그램들을 먼저 실행하고 가장 나중에 시스템익스플로러를 실행해도 한번 설정된 프로그램들은 일괄적으로 등록된 값으로 cpu 설정이 바뀌게 됩니다.

 

한번 실행 한 후에는 system explorer를 종료해도 cpu 설정된 프로그램들은 그 값으로 고정되어 있습니다. 다만 cpu 설정된 프로그램을 종료하고 다시 재실행 할 때는 유틸이 실행 중이 아니라면 기본값으로 실행됩니다.

 

항상 실행되어야 하는 백그라운드 프로그램은 system explorer 로 일괄변경하고 게임이나 기타 응용애플리케이션은 바로가기 대상 설정 변경이나 배치파일을 이용해서 사용하는 것도 괜찮을 것 같다는 생각입니다.

 

▒ 여기까지 글을 읽으신 분들에게는 죄송한 말이지만 제가 삽질을 한 것 같네요. 위 방법도 가능하지만 그냥 간단하게 프로그램 하나로 해결할 수 있는거였네요. 저도 최근에서야 알았습니다. ㅡㅡ;; 위 방법대로 복잡하게 하지 마시고 그냥 Prio 라는 프로그램 깔아서 사용하세요. 그게 제일 나은 것 같습니다.

 

우선순위 prio 라고 검색해보시면 나올겁니다.

 

Prio 다운로드 링크 : http://www.prnwatch.com/prio/

 

# 그 외 프로세스 우선순위 설정 프로그램 모음

 

https://www.raymond.cc/blog/permanently-set-process-priority-in-windows-task-manager-with-prio/

 

1. Process Lasso

2. Prio (Process Priority Saver)

3. Process Hacker

4. Process Tamer

5. Bill2’s Process Manager

6. System Explorer

 

 

ubuntu host name 변경

1. 호스트 이름 설정 파일 접근

1
$ sudo vi /etc/hostname

2. 호스트이름 설정

1
doc-serv

3. 호스트 설정 파일 접근

1
$ sudo vi /etc/hosts

4. 변경된 호스트이름 반영

1
127.0.1.1 doc-serv

5. machine 재시작

1
$ sudo reboot

 

ubuntu command

*. 보안업데이트

apt-get install unattended-upgrades

unattended-upgrade

 

 

*. SSH 접속시 지동실행 스크립트 저장 위치

cd /etc/update-motd.d/

 

 

*. LAN IP 설정

 

vi /etc/network/interfaces

 

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

/etc/network/interfaces

———————————————————————–

# This file describes the network interfaces available on your system

# and how to activate them. For more information, see interfaces(5).

 

source /etc/network/interfaces.d/*

 

# The loopback network interface

auto lo

iface lo inet loopback

 

# The primary network interface

auto enp0s3

iface enp0s3 inet dhcp

 

# The host-only network interface

auto enp0s8

iface enp0s8 inet static

address 192.168.56.102

netmask 255.255.255.0

network 192.168.56.0

boradcast 192.168.56.255

———————————————————————–

 

systemctl restart networking

 

*. 특정 폴더 및 하위 파일 중 txt 파일만 한정하여 인코딩 변환

 

find / -name *.txt -execdir iconv -f EUC-KE -t UTF-8 {} -o {}.tmp \; -execdir mv -f {}.tmp {} \;

 

 

*. 오래된 Linux 커널 삭제

 

> 현재 사용중인 커널 버전을 확인한다.

$ uname -r

3.2.0-38-generic

 

> 현재 설치된 커널 이미지를 확인한다.

$ dpkg –list | grep linux-image

ii  linux-image-3.2.0-31-generic           3.2.0-31.50                             Linux kernel image for version 3.2.0 on 32 bit x86 SMP

ii  linux-image-3.2.0-32-generic           3.2.0-32.51                             Linux kernel image for version 3.2.0 on 32 bit x86 SMP

ii  linux-image-3.2.0-33-generic           3.2.0-33.52                             Linux kernel image for version 3.2.0 on 32 bit x86 SMP

ii  linux-image-3.2.0-34-generic           3.2.0-34.53                             Linux kernel image for version 3.2.0 on 32 bit x86 SMP

ii  linux-image-3.2.0-35-generic           3.2.0-35.55                             Linux kernel image for version 3.2.0 on 32 bit x86 SMP

ii  linux-image-3.2.0-36-generic           3.2.0-36.57                             Linux kernel image for version 3.2.0 on 32 bit x86 SMP

ii  linux-image-3.2.0-37-generic           3.2.0-37.58                             Linux kernel image for version 3.2.0 on 32 bit x86 SMP

ii  linux-image-3.2.0-38-generic           3.2.0-38.61                             Linux kernel image for version 3.2.0 on 32 bit x86 SMP

ii  linux-image-generic                    3.2.0.38.46                             Generic Linux kernel image

 

> 구 버전의 커널 이미지를 삭제한다.

$ sudo apt-get purge linux-image-3.2.0-31-generic

 

> grub2 를 업데이트 한다.

$ sudo update-grub2

 

 

*. 우분투 서버를 우분투 데스크탑으로 변경

apt-get install –no-install-recommends ubuntu-desktop

 

*. owncloud source 바탕화면에 backup

tar czfp /media/sf_desktop/oc-file-backup.tar.gz /var/www/owncloud

tar.gz

압축 하기

□ 사용법

1
$ tar -cvzf [압축된 파일 이름] [압축할 파일이나 폴더명]

eg) 해당 경로의 모든 파일을 xxx.tar.gz로 압축

1
$ tar -cvzf xxx.tar.gz *

eg) 권한(permission)이 없는 파일 패스하며, 해당 경로의 모든 파일을 xxx.tar.gz로 압축

1
$ tar -cvzf xxx.tar.gz * --ignore-failed-read

□ 옵션값

  • x : 묶음을 해제
  • c : 파일을 묶음
  • v : 묶음/해제 과정을 화면에 표시
  • z : gunzip을 사용
  • f : 파일 이름을 지정
  • p : 권한(permission)을 원본과 동일하게 유지

압축 풀기

□ 사용법

1
$ tar -xvzf [압축 해제할 압축 아카이브 이름]

eg) 해당 경로에 xxx.tar.gz 파일의 압축을 해제

1
$ tar -xvzf xxx.tar.gz

MySQL innoDB 복구 절차

mysql의 스토리지 엔진 중(MyISAM, InnoDB) InnoDB에 관련 된 데이터 복구 방법에 대한 설명이다.

본래 InnoDB는 Mysql이 손상되어도 .frm 파일과 ibdata1파일만 존재하여도 복구가 가능하다.(이 방법은 아주 간단하므로 설명 제외)

 

이번에 설명할 내용은 ibdata1 인 데이터 파일이 손실될 경우에 복구하는 방법에 대해 설명이다.

Mysql은 정상 시작시 파일의 유무 및 다른 파일등을 검사한다.

하지만 파일이 손상되었을 경우 시작하자마자 서비스를 자체적으로 중단한다.

이에 InnoDB는 파일의 검사 등을 하지 않고 강제로 서비스를 시작하여 복구하는 모드가 따로 존재한다.

윈도우 기준으로 Mysql 설치 폴더/my.ini 이하 my.ini 파일에 innodb_force_recovery라는 명령어를 추가 시켜 주고 서비스를 재시작 하면 강제 복구 모드로 설정된다.

예) innodb_force_recovery = 1

숫자는 1에서 6까지 사용 가능하며, 1이 가장 안전하고 좋은 복구 모드이고, 1에서 복구가 안된다면 1~6까지 순차적으로 값을 바꿔가야 한다.

자세한 내용은 http://www.mysqlkorea.co.kr/sub.html?mcode=manual&scode=01&m_no=21875&cat1=14&cat2=422&cat3=442&lang=k 를 참고 하길 바란다.

 

위와 같이 프로그램을 시작하면 서비스가 정상적으로 시작하게 되며 그후에 dump로 파일을 백업 시킬 수 있다.

덤프 명령어는 Mysql설치폴더/bin에서 mysqldump -u계정명 -p 데이터베이스명 > 백업할파일.sql 로 하면 백업이 되고

반대로 mysqldump -a -u계정명 -p 데이터베이스명 < 백업할파일.sql 이와 같이 하면 복원이 된다.

 

만약 1이 아닌 복구 모드로 실행시 파일이 전체적으로 백업되지 않았을 경우 복구 모드에 우선순위를 높여 select 명령어로 검사후 csv파일로 저장

저장 후 벌크 인서트로 파일 다시 불러옴

벌크는 http://kr.blog.yahoo.com/freud19390723/79 를 참고

 

복원이 완료 된 후에는 innodb_force_recovery = 1를 삭제후 프로그램 재시작을 한다.

 

간단히 설명하자면 파일이 손상된 경우

1. 서비스 시작 중지

2. my.ini파일에 innodb_force_recovery = 1~6 값 설정 후 저장

3. 서비스 시작

4. 서비스 시작시 정상 동작이면 6. 아니면 5.

5. 정상 동작이 아닐경우 다른 복구 모드를 선택하여 서비스 시작

6. 정상 동작일 경우 mysqldump로 파일 백업

7. 높은 우선순위로 변경하여 파일로 저장후 벌크 인서트로 다시 넣음

8. 복구 모드 삭제 후 서비스 재시작

 

MySQL db, table 백업덤프 생성

콘솔창 mysql설치폴더/bin/폴더 아래에서 해당 명령어를 실행하면 같은 위치에 sql파일들 생성
 

 
1. 전체 DB백업/복원
 
백업 : mysqldump -u아이디 -p –all-databases > 저장할파일명.sql 
복원 : mysqldump -u아이디 -p < 불러올파일명.sql 
2. 특정 DB백업/복원
백업 : mysqldump -u아이디 -p DB명 > 저장할파일명.sql 
복원 : mysql -u아이디 -p DB명 < 불러올파일명.sql 
3. 특정 Table백업/복원
백업 : mysqldump -u아이디 -p DB명 Table명> 저장할파일명.sql 
복원 : mysql -u아이디 -p DB명 < 불러올파일명.sql 
4. 데이터를 제외한 특정 Table Schema(구조)만 백업/복원
백업 : mysqldump -u아이디 -p DB명 Table명 > 저장할파일명.sql 
복원 : mysql -u아이디 -p DB명 < 불러올파일명.sql 

How to run program or process on specific CPU cores on Linux

How to run program or process on specific CPU cores on Linux

As multi-core CPUs become increasingly popular on server-grade hardware as well as end-user desktop PCs or laptops, there have been growing efforts in the community (e.g., in terms of programming models, compiler or operating system support) towards developing applications optimized for multi-core architecture.

One operating system (OS) support often exploited to run performance-critical applications on multi-core processors is so-called “processor affinity” or “CPU pinning”. This is an OS-specific feature that “binds” a running process or program to particular CPU core(s).

Binding a program to specific CPU cores can be beneficial in several scenarios. For example, when an application with highly cache-bound workload runs together with other CPU-intensive jobs, pinning the application to a specific CPU would reduce CPU cache misses. Also, when two processes communicate via shared memory intensively, scheduling both processes on the cores in the same NUMA domain would speed up their performance.

In this tutorial, I will describe how to run a program or process on specific CPU cores on Linux.

To assign particular CPU cores to a program or process, you can use taskset, a command line tool for retrieving or setting a process’ CPU affinity on Linux.

Install taskset on Linux

The taskset tool is part of “util-linux” package in Linux, and most Linux distros come with the package pre-installed by default. If taskset is not available on your Linux system, install it as follows.

To install taskset on Debian, Ubuntu or Linux Mint:

$ sudo apt-get install util-linux

To install taskset on Fedora, CentOS or RHEL:

$ sudo yum install util-linux

View the CPU Affinity of a Running Process

To retrieve the CPU affinity information of a process, use the following format. taskset returns the current CPU affinity in a hexadecimal bitmask format.

taskset -p <PID>

For example, to check the CPU affinity of a process with PID 2915:

$ taskset -p 2915
pid 2915's current affinity mask: ff

In this example, the returned affinity (represented in a hexadecimal bitmask) corresponds to “11111111” in binary format, which means the process can run on any of eight different CPU cores (from 0 to 7).

The lowest bit in a hexadecimal bitmask corresponds to core ID 0, the second lowest bit from the right to core ID 1, the third lowest bit to core ID 2, etc. So for example, a CPU affinity “0x11” represents CPU core 0 and 4.

taskset can show CPU affinity as a list of processors instead of a bitmask, which is easier to read. To use this format, run taskset with “-c” option. For example:

$ taskset -cp 2915
pid 2915's current affinity list: 0-7

Pin a Running Process to Particular CPU Core(s)

Using taskset, you can “pin” (or assign) a running process to particular CPU core(s). For that, use the following format.

$ taskset -p <COREMASK> <PID>
$ taskset -cp <CORE-LIST> <PID>

For example, to assign a process to CPU core 0 and 4, do the following.

$ taskset -p 0x11 9030
pid 9030's current affinity mask: ff
pid 9030's new affinity mask: 11

Or equivalently:

$ taskset -cp 0,4 9030

With “-c” option, you can specify a list of numeric CPU core IDs separated by commas, or even include ranges (e.g., 0,2,5,6-10).

Note that in order to be able to change the CPU affinity of a process, a user must have CAP_SYS_NICE capability. Any user can view the affinity mask of a process.

Launch a Program on Specific CPU Cores

taskset also allows you to launch a new program as pinned to specific CPU cores. For that, use the following format.

taskset <COREMASK> <EXECUTABLE>

For example, to launch vlc program on a CPU core 0, use the following command.

$ taskset 0x1 vlc

Dedicate a Whole CPU Core to a Particular Program

While taskset allows a particular program to be assigned to certain CPUs, that does not mean that no other programs or processes will be scheduled on those CPUs. If you want to prevent this and dedicate a whole CPU core to a particular program, you can use “isolcpus” kernel parameter, which allows you to reserve the CPU core during boot.

Add the kernel parameter “isolcpus=<CPU_ID>” to the boot loader during boot or GRUB configuration file. Then the Linux scheduler will not schedule any regular process on the reserved CPU core(s), unless specifically requested with taskset. For example, to reserve CPU cores 0 and 1, add “isolcpus=0,1” kernel parameter. Upon boot, then use taskset to safely assign the reserved CPU cores to your program.