디스크 성능이 형편없는 OpenNMS Linux 서버가 있습니다. 머신은 VPC 내부의 EC2입니다.위에보여주다:
오토프보여주다:
IO 수를 줄이고 디스크 활용도를 줄이는 방법은 무엇입니까?
이오아니스회신하다:
ubuntu@ip-10-12-251-11:~$ sudo ionice -c3 -p $(pidof opennms)
ionice: option requires an argument -- 'p'
ionice - sets or gets process io scheduling class and priority.
Usage:
ionice [OPTION] -p PID [PID...]
ionice [OPTION] COMMAND
Options:
-c, --class <class> scheduling class name or number
0: none, 1: realtime, 2: best-effort, 3: idle
-n, --classdata <num> scheduling class data
0-7 for realtime and best-effort classes
-p, --pid=PID view or modify already running process
-t, --ignore ignore failures
-V, --version output version information and exit
-h, --help display this help and exit
답변1
rrenice
부터 시작해 보세요더반~의목록팩. 예를 들어, 다음은 하위 항목의 우선순위를 opennms
가능한 가장 낮은 설정으로 설정합니다.
sudo rrenice 19 opennms
또는 사용할 수 없는 경우 일반을 사용하십시오 renice
.
sudo renice -n 19 -p $(pidof opennms)
디스크 호깅 프로그램의 경우 다음을 사용하십시오 ionice
.
ionice -c3 -p $(pidof opennms)
그런데: opennms
프로세스가 리소스 집약적이어서는 안 됩니다. 뭔가 잘못되었거나 거기에 매달려 있습니다.
답변2
이 그림은 쓰기 바인딩 프로세스를 보여줍니다.캐시 조정OpenNMS가 제안한 내용은 도움이 되지 않았습니다.
그러나 희생하면 도움이 될 수 있습니다.내구성. OpenNMS가 충돌하는 경우 데이터베이스가 몇 초 전에 충돌했다고 표시하는지 여부는 중요하지 않습니다. (이것은 클라이언트가 최소 한 번 의미 체계에 의존하는 이메일 서버와는 다릅니다.) 그러나 충돌이 발생하기 전에 변경한 구성이 손실될 수 있습니다. 충돌이 발생했는지 확인하고 구성을 변경한 후에도 시스템이 여전히 온라인 상태인지 확인하세요. 노력하다 synchronous_commit = off
. 기본적으로 내구성 손실 기간은 600밀리초에 불과합니다.
원하는 효과가 달성 된다면 synchronous_commit = off
내구성을 희생하지 않는 대안이 있을 수 있습니다. 바라보다 commit_delay
. 제 생각에는 OpenNMS가 이 문제를 아주 잘 해결할 수 있다고 생각합니다. commit_delay
관찰된 IOPS의 역수로 a를 설정해야 합니다 . <poller-configuration threads=
CPU(및 RAM) 사용률이 여전히 낮다면 늘릴 수 있다고 생각합니다 .