ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • OS 메모리사용량, CPU사용량
    java 2019. 5. 8. 16:07

    https://blog.cafe24.com/2005
    SAR(System Activity Reporter) 명령어를 이용한 시스템 관리



    1. 일단 CPU와 메모리 사용량을 사용하려면 sar 명령어를 사용해야함 

    2. sar -help
    usage: sar { -A [-M] | [-a][-b][-c][-d][-k][-m][-q][-r][-u][-v][-w][-y][-M] } 
               [-s [YYYYMMDD]hh[:mm[:ss]]] [-e [YYYYMMDD]hh[:mm[:ss]]] [-x]
                [-P processor_id[,...] | ALL] 
               [-f file] [-i seconds] [-o file] [interval [number]] 
               [-X file] [-i seconds] [-o file] [interval [number]] 

    3. sar이 깔려 있는 거 같음 
    4. sar을 사용함 




    sar: 0551-201 /var/adm/sa/sa08을(를) 열 수 없습니다.
    sar: 0551-213 /usr/lib/sa/sal   수행을 시도하십시오.


    해결책 
    http://power.iotn.co.kr/zboard.php?tab_num=1&id=9_3_os&no=522

    ksh: sa1: 0403-006 실행 권한이 거부되었습니다.


    sar 명령어에 대한 권한이 없는 것 같다. 

    --------------------------------------------------------------------------------------------------
    유닉스나 리눅스의 프롬프트에서 텍스트 파일을 만드는 방법입니다. 우선, 0바이트짜리 파일 즉, 아무것도 들어 있지 않은 빈 파일을 간단한 방법으로 만들려면

    >test.txt

    이렇게 하면 "현재 디렉토리"에 test.txt 라는 파일명의 빈 파일이 생성됩니다. 새롭게 생성할 파일명 앞에 > 기호를 붙이는 것입니다.

    다만, test.txt 라는 이름의 파일이 이미 "현재 디렉토리"에 있다면 그 파일의 내용이 날아가 버리기에 주의가 필요합니다. 즉 덮어쓰기가 됩니다.


    그러나 vi 나 vim 에디터로 파일을 만드는 것이 가장 좋습니다. 자신의 시스템에 보면 vi 또는 vim 이라는 명령어가 있을 것입니다. 예를 들어

    vi tt.txt

    라는 명령을 실행하면, 현재디렉토리에 tt.txt 라는 파일이 없다면 새롭게 만들고, 있다면 tt.txt 라는 파일을 편집할 수 있습니다.

    vi 에디터에서 소문자 아이(i) 키를 눌러 tt.txt 라는 파일에 글자를 적고, vi 에서 Esc키를 누른 후

    :wq

    라는 명령을 실행하면, tt.txt 파일의 내용이 하드에 저장되고, vi에서 빠져나와 다시 프롬프트로 돌아올 수 있습니다. 이런 식으로 텍스트 파일을 만들면 됩니다.


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


    명령어로 하는 방법  X

    cpu 사용률 계산하기 
    https://blog.yatopark.net/2015/12/02/cpu-%EC%82%AC%EC%9A%A9%EB%A5%A0-%EA%B3%84%EC%82%B0%ED%95%98%EA%B8%B0/

    이 클래스나 메소드는 사용하기에 문제가 생길지 모르므로 위험 으로 처리되서 이클립스에서 오류로 인식한다. 
    .[4] 여기서 변경점이 있다면 OperatingSystemMXBeans의 갱신주기는 1초보다는 커야 한다는 것이다.

    자바 버전 7 문서 
    https://docs.oracle.com/javase/7/docs/jre/api/management/extension/com/sun/management/OperatingSystemMXBean.html


    자바 7버전 이상에서만 실행됨 

    package sunos;

    import java.lang.management.ManagementFactory;

    import com.sun.management.OperatingSystemMXBean;

    public class CPULoadMonitor {
      public static void main(String args[]){
        final OperatingSystemMXBean osBean = (com.sun.management.OperatingSystemMXBean)ManagementFactory.getOperatingSystemMXBean();
        double load;
      
        while(true){
          load = osBean.getSystemCpuLoad();
          if(load < 0.0)
            continue;
          
          System.out.println("CPU Usage : "+load*100.0+"%");
          try {
           Thread.sleep(2000);
          } catch (InterruptedException e) {
            e.printStackTrace();
          }
        }
      }
    }


    HP 서버에 자바는 1.5버전  서버의 설지되어있는 자바가 1.7 이상이여야 사용이 가능하다 .

     

    메모리 사용량 코드

    package sunos;

    import java.lang.management.ManagementFactory;

    import com.sun.management.OperatingSystemMXBean;

    public class Memory {
      public static void main(String args[]){
        final OperatingSystemMXBean osBean = (com.sun.management.OperatingSystemMXBean)ManagementFactory.getOperatingSystemMXBean();
        double load;
      
        while(true){
          load = osBean.getSystemCpuLoad();
          if(load < 0.0)
            continue;
          
          System.out.println("- Usage Percent : " + Math.round( ( Double.valueOf(osBean.getTotalPhysicalMemorySize() - osBean.getFreePhysicalMemorySize() ) ) / Double.valueOf( osBean.getTotalPhysicalMemorySize() ) * 100) + "%");
          try {
           Thread.sleep(2000);
          } catch (InterruptedException e) {
            e.printStackTrace();
          }
        }
      }
    }

    'java' 카테고리의 다른 글

    스트림  (0) 2019.05.21
    자바로 배우는 리팩토리 입문 0장  (0) 2019.05.12
    HTTPS 통신  (0) 2019.05.02
    스트림  (0) 2019.01.04
Designed by Tistory.