OSHI는 Java용 무료 JNA 기반(기본) 운영 체제 및 하드웨어 정보 라이브러리입니다. 추가 기본 라이브러리 설치가 필요하지 않으며 OS 버전, 프로세스, 메모리 및 CPU 사용량, 디스크 및 파티션, 장치, 센서 등과 같은 시스템 정보를 검색하기 위한 크로스 플랫폼 구현을 제공하는 것을 목표로 합니다.
- 지원되는 플랫폼
- 다운로드 및 종속성 관리
- 선적 서류 비치
- 용법
- 지원되는 기능
- 지원하다
- 기업용 OSHI
- 보안 연락처 정보
- 지속적 통합 테스트 현황
- 어떻게 도와드릴까요?
- OSHI에 기여
- 감사의 말
- 특허
지원되는 플랫폼
- 윈도우
- macOS
- 리눅스(안드로이드)
- 유닉스(AIX, FreeBSD, OpenBSD, 솔라리스)
선적 서류 비치
- API(javadoc)
- FAQ
- 변경 로그
- 성능 고려 사항
- 주요 버전 주요 변경 사항
- 샘플 출력
- OSHI를 사용하는 애플리케이션 및 프로젝트
다운로드 및 종속성 관리
안정 릴리스 버전
- JDK8: oshi-core-6.6.5
- JPMS: oshi-core-java11-6.6.5
- JDK6: 오시-코어-3.14.0
현재 개발(SNAPSHOT) 다운로드
- JDK8: oshi-core-6.6.6-스냅샷
- JPMS: oshi-core-java11-6.6.6-SNAPSHOT
용법
- 클래스 경로에 OSHI와 해당 종속성을 포함합니다.
- Maven 또는 Gradle과 같은 프로젝트 종속성 관리자에 대한 종속성으로
oshi-core
추가하는 것이 좋습니다. - Android의 경우 JNA용 AAR 아티팩트를 추가하고 OSHI의 전이적(JAR) 종속성을 제외해야 합니다.
-
NoClassDefFoundError
또는 NoSuchMethodError
문제가 발생하면 FAQ를 참조하세요.
-
SystemInfo
의 새 인스턴스 만들기 -
SystemInfo
의 getter를 사용하여 다음과 같은 하드웨어 또는 운영 체제 구성 요소에 액세스합니다.
SystemInfo si = new SystemInfo ();
HardwareAbstractionLayer hal = si . getHardware ();
CentralProcessor cpu = hal . getProcessor ();
예제는 SystemInfoTest.java를 참조하세요. 컴퓨터의 샘플 출력을 보려면 다음 안내를 따르세요.
git clone https://github.com/oshi/oshi.git && cd oshi
./mvnw test-compile -pl oshi-core exec:java
-Dexec.mainClass= " oshi.SystemInfoTest "
-Dexec.classpathScope= " test "
일부 설정은 oshi.properties
파일에서 구성할 수 있으며 GlobalConfig
클래스를 사용하여 조작할 수도 있습니다. 구성은 스레드로부터 안전하지 않고 OSHI는 작동 중에 구성을 다시 읽는 것을 보장하지 않으므로 시작 시 이 작업을 수행해야 합니다.
oshi-demo
아티팩트에는 기본 Swing GUI를 포함하여 OSHI를 사용하여 정보를 얻는 몇 가지 개념 증명 예제가 포함되어 있습니다.
지원되는 기능
- 컴퓨터 시스템 및 펌웨어, 베이스보드
- 운영 체제 및 버전/빌드
- 물리적(코어) 및 논리적(하이퍼스레드) CPU, 프로세서 그룹, NUMA 노드
- 시스템 및 프로세서별 로드, 사용량 틱 카운터, 인터럽트, 가동 시간
- 프로세스 가동 시간, CPU, 메모리 사용량, 사용자/그룹, 명령줄 인수, 스레드 세부 정보
- 실제 및 가상 메모리 사용/사용 가능
- 마운트된 파일 시스템(유형, 사용 가능한 공간 및 총 공간, 옵션, 읽기 및 쓰기)
- 디스크 드라이브(모델, 직렬, 크기, 읽기 및 쓰기) 및 파티션
- 네트워크 인터페이스(IP, 대역폭 입/출력), 네트워크 매개변수, TCP/UDP 통계
- 배터리 상태(% 용량, 남은 시간, 전력 사용량 통계)
- USB 장치
- 연결된 디스플레이(EDID 정보 포함), 그래픽 및 오디오 카드
- 일부 하드웨어의 센서(온도, 팬 속도, 전압)
지원하다
- 버그 보고서, 기능 요청 또는 OSHI의 장기 계획에 대한 일반적인 질문이 있는 경우 이슈를 생성하세요.
- OSHI를 자신의 프로젝트에 통합하거나 PR의 유지관리자 코드 검토에 도움이 필요하면 프로젝트 사이트의 문제 또는 풀 요청에
@dbwiddis
태그하세요. - API 사용에 관한 "방법" 질문의 경우
oshi-demo
프로젝트의 예제를 참조하거나, 문제를 생성하거나, oshi
태그를 사용하여 Stack Overflow에서 검색하고 이전에 답변이 없는 경우 새 질문을 하세요. - OSHI의 주요 관리자에게 감사 인사를 전하기 위해 그를 후원하거나 그에게 커피를 사줄 수 있습니다.
기업용 OSHI
Tidelift 구독의 일부로 사용 가능
OSHI 및 수천 개의 다른 패키지의 관리자는 Tidelift와 협력하여 애플리케이션 구축에 사용하는 오픈 소스 종속성에 대한 상업적 지원 및 유지 관리를 제공하고 있습니다. 시간을 절약하고 위험을 줄이며 코드 상태를 개선하는 동시에 사용하는 정확한 종속성에 대한 비용을 관리자에게 지불합니다. 자세히 알아보세요.
보안 연락처 정보
보안 취약점을 신고하려면 Tidelift 보안 담당자에게 문의하세요. Tidelift는 수정 및 공개를 조정할 것입니다.
지속적 통합 테스트 현황
어떻게 도와드릴까요?
OSHI는 추가 소프트웨어가 필요하지 않고 오픈 소스 및 상용 제품 모두와 호환되는 라이센스를 갖춘 플랫폼 독립적인 라이브러리로 시작되었습니다. 우리는 주요 운영 체제에서 강력한 핵심 기능을 개발했지만 다음을 통해 여러분 의 도움을 받고 싶습니다.
- 테스트! CI 테스트는 몇 가지 플랫폼으로 제한됩니다. 다양한 운영 체제/버전 및 하드웨어에서 프로그램을 다운로드하고 테스트하고 제한된 개발 및 테스트에서 놓쳤을 수 있는 격차를 식별하는 데 도움을 줍니다. 특정 우선순위 테스트 요구 사항은 다음과 같습니다.
- 64개 이상의 논리 프로세서를 갖춘 Windows 시스템
- 라즈베리 파이
- 덜 일반적인 Linux 배포판
- 코드에 기여합니다. 제대로 작동하지 않거나 더 잘 작동할 수 있는 부분이 보이시나요? 문제를 해결하도록 도와주세요! 새로운 기여자를 환영합니다.
- 구현을 문서화합니다. 우리 Wiki는 드물며
oshi-demo
유물은 개념 증명 아이디어를 호스팅하는 장소입니다. 새로운 사용자가 귀하의 발자취를 따라갈 수 있도록 돕고 싶으십니까? - 새로운 기능을 제안합니다. 현재 수행되지 않는 작업을 수행하려면 OSHI가 필요합니까? 우리에게 알려주세요.
OSHI에 기여
감사의 말
OSHI를 포함한 오픈 소스 프로젝트에 대한 무료 지원을 제공한 다음 회사에 많은 감사를 드립니다.
- 다양한 코드 품질 도구를 위한 SonarCloud
- 지속적인 통합 테스트를 위한 GitHub Actions, AppVeyor 및 Cirrus CI
- CPU 병목 현상을 제거하는 데 사용되는 jProfile Java 프로파일러
특허
이 프로젝트는 MIT 라이선스에 따라 라이선스가 부여됩니다.