반응형

분류 전체보기 227

파이썬으로 날자별로 생성되는 로그 파일 만들기(logging 모듈)

파이썬에서 print 출력을 날짜별로 분리된 파일로 로깅하기 위해서는 로깅(logging) 모듈을 사용하면 됩니다. 로깅 모듈을 사용하면 메시지를 다양한 수준(level)에서 기록할 수 있습니다. 1. 날짜별로 로그 파일을 분리하여 저장하는 방법 TimedRotatingFileHandler를 이용하여 로깅하는 방법도 있지만 여기서는 간단하게 파일명에 날자를 포함하여 저장하는 방법을 사용해서 만들어 보겠습니다. 예를 들어, 2024년 3월 14일에 실행하면 app_2024-03-14.log 파일에 로그가 기록됩니다. 또 다음 날 실행하면 새로운 날짜로 명명된 파일에 로그가 기록되고 기존 파일은 그대로 유지됩니다. 이 방법은 로그 파일이 날짜별로 무한정 생성되기 때문에 주기적인 관리가 필요합니다. impor..

IT/개발 2024.03.14

선릉역 막걸리전문 막끌리네 둘러보기(꼬막, 김치제육, 두부한모 )

살얼음 동동 막걸리~ 요즘 보기 드물죠 예전 같은 분위기의 막걸리 전문점 막끌리네를 소개합니다. 1. 막끌리네 선릉점 위치 선릉역 먹자골목에 위치해 있습니다. 선릉역 1번 출구에서 5분거리 입니다. https://map.naver.com/p/entry/place/1500220505?c=16.19,0,0,0,dh 네이버 지도 막끌리네 선릉점 map.naver.com 2. 내외관 둘러보기 예전 선술집같은 분위기를 잘 재현해 놓았습니다. 전체적으로 익숙한 느낌 ^^ 주방 앞에 얼음이 동동 뜬 막걸리를 퍼담는 공간이 따로 있습니다. 독특하네요~ 3. 메뉴 둘러 보기 메뉴 종류가 엄청 많지는 않지만 그래도 있을것은 다 있습니다. 가격도 엄청 비싸지는 않네요. 테이블을 둘러보니 김치제육볶음 두부한모가 핫템 인가 봅..

이것저것 2024.02.29

nvidia GPU power limit 설정하기 (Unable to determine the device handle for GPU, Unknown Error)

GPU를 이용하여 딥러닝을 하다보면 GPU device Error로 인해 먹통이 되거나 드라이버가 정상 동작하지 않는 경우가 있습니다. Unable to determine the device handle for GPU 0000:01:00.0: Unknown Error 이런 경우 사실 할 수 있는 것은 많지 않습니다. 전력제어를 통해서 디바이스가 과열되지 않도록 하는 정도죠.. GPU의 전력 제한(Power Limit) 설정을 조정하는 것은 여러 상황에서 필요하거나 유용할 수 있습니다. 1. 전력제한이 필요한 경우 주로 성능 최적화, 시스템 안정성 유지, 에너지 효율성 향상, 그리고 장비의 수명 연장을 위해 사용됩니다. (1) 열 관리 과열 방지: 고성능 작업으로 인해 GPU 온도가 너무 높아지는 것을 방..

IT/리눅스 2024.02.27

cpu, ram 사용량 및 gpu, gpu ram 사용량 실시간 확인하기

개발을 하다보면 리소스 모니터링을 해야할 일이 많습니다. 그중 특히 CPU와 GPU의 사용량과 메모리는 필수 인데요. 실시간으로 GPU와 CPU 사용량을 모니터링하기 위해, psutil과 GPUtil 라이브러리를 사용할 수 있습니다. psutil은 시스템과 프로세스 유틸리티에 대한 정보를 제공하며, GPUtil은 NVIDIA GPU들의 상태를 모니터링하는 데 사용됩니다. 먼저, psutil과 GPUtil이 설치되어 있지 않다면 설치해야 합니다. 1. 패키지 설치 하기 > pip install psutil > pip install gputil 2. 모니터링 코드 작성 이제 간단하게 모니터링 코드를 작성해 봅시다. import psutil import GPUtil from time import sleep d..

IT/리눅스 2024.02.26

ffmpeg으로 nvidia gpu로 영상 인코딩 하면서 multicast 송출하기(멀티 GPU사용, hwaccel, cuda)

ffmpeg으로 동영상을 송출하기에 이어서 NVIDIA 멀티 GPU를 이용하여 인코딩을 추가하여 고속으로 송출하는 방법을 알아보겠습니다. https://yongeekd01.tistory.com/163 다양한 포맷의 동영상 파일을 mpegts, udp multicast로 송출하기(mp4, mov, mpegts..) 멀티캐스트로 동영상 파일을 송출할 수 있는 프로그램에는 여러 가지가 있습니다. 이러한 프로그램은 대체로 네트워크를 통해 비디오 콘텐츠를 여러 수신자에게 동시에 전송하는 데 사용됩니 yongeekd01.tistory.com 1. FFmpeg를 사용하여 비디오 크기 변경해서 인코딩 하면서 송출 먼저 인코딩 옵션을 추가하여 비디오 크기 변경해서 인코딩 하면서 송출 하는 방법을 보겠습니다. ffmpeg..

IT/리눅스 2024.02.22

다양한 포맷의 동영상 파일을 mpegts, udp multicast로 송출하기(mp4, mov, mpegts..)

멀티캐스트로 동영상 파일을 송출할 수 있는 프로그램에는 여러 가지가 있습니다. 이러한 프로그램은 대체로 네트워크를 통해 비디오 콘텐츠를 여러 수신자에게 동시에 전송하는 데 사용됩니다. 다음은 멀티캐스트 송출을 지원하는 프로그램의 몇가지 예 입니다. (이외에도 많이 있지만..) (1) VLC Media Player VLC는 무료이며 오픈 소스 멀티미디어 플레이어이자 프레임워크로, 다양한 멀티미디어 파일 포맷, 디스크, 네트워크 스트리밍 프로토콜을 지원합니다. VLC를 사용하면 비디오 파일을 멀티캐스트로 송출할 수 있습니다. (2) FFmpeg FFmpeg는 오디오 및 비디오 레코딩, 변환 및 스트리밍을 위한 무료 소프트웨어입니다. 복잡한 커맨드 라인 도구이지만, 강력한 스트리밍 기능을 제공하며, 사용자가 ..

IT/리눅스 2024.02.22

파이썬에서 ffmpeg 사용하기(ffmpeg-python, 각종 예제)

ffmpeg-python은 FFmpeg을 Python에서 사용할 수 있게 하는 파이썬 래퍼(Wrapper) 라이브러리입니다. FFmpeg은 다양한 멀티미디어 작업을 수행할 수 있는 강력한 오픈 소스 멀티미디어 프레임워크로, 오디오 및 비디오 파일의 변환, 편집, 스트리밍 등 다양한 작업을 지원합니다. ffmpeg-python은 FFmpeg의 기능을 파이썬 코드로 쉽게 사용할 수 있도록 도와줍니다. 이 라이브러리를 사용하면 명령 줄 인터페이스를 직접 사용하지 않고도 Python 코드를 통해 간단하게 멀티미디어 작업을 자동화할 수 있습니다. https://github.com/kkroening/ffmpeg-python GitHub - kkroening/ffmpeg-python: Python bindings f..

IT/개발 2024.02.21

리눅스 파일의 상세정보 확인하기(file, stat 생성, 변경, 수정, 엑세스 정보)

아주 간단한 것 같지만 의외로 잘 모르는 파일 정보 확인 1. file 명령어 file 명령어는 리눅스 및 유닉스 시스템에서 파일의 형식을 식별하는 데 사용되는 유틸리티입니다. 주로 파일이 어떤 종류의 데이터를 포함하고 있는지 확인하거나, 특정 파일이 실행 가능한지 여부를 확인하는 데에 활용됩니다. > file .bashrc .bashrc: UTF-8 Unicode text > file ip ip: ELF 64-bit LSB shared object, x86-64, version 1 (SYSV), dynamically linked, interpreter /lib64/ld-linux-x86-64.so.2, BuildID[sha1]=e3f69be4be359c22ae70df66dea7073ab0af26cf, ..

IT/리눅스 2024.02.15

쉘스크립트로 특정 python 실행 프로세스 죽이기(killall, kill, pgrep)

ps로 프로세스를 확인했을때 아래와 같이 표시되는 프로세스를 어떻게 제거할 수 있을까 ? root 239033 1 99 13:58 pts/5 00:00:04 python3 audio_data.py 위같은 경우는 프로세스이름이 python3 이기 때문에 killall python3 명령어로 죽일수 있으나... 동작중인 다른 python3 프로세스도 다 죽여버리는 결과가 생깁니다. 특정 스크립트나 경로를 가진 프로세스만 종료하고 싶은 경우 killall은 그런 세밀한 제어를 제공하지 않기 때문에 이 경우, 프로세스의 PID(프로세스 ID)를 사용하여 개별 프로세스를 종료할 수 있습니다. 예를 들어, 위에서 보여준 프로세스의 PID는 239033입니다. 이 프로세스를 종료하려면 다음과 같이 kill 명령어를 ..

IT/리눅스 2024.02.07
반응형