반응형
어디서 발생의 메모리를 결정하고 있습니까? [복제]
이 질문에는 이미 답변이 있습니다.
현재 작업 공간 내의 각 객체에서 얼마나 많은 RAM을 사용하고 있는지 알고 싶습니다. 이 작업을 수행하는 쉬운 방법이 있습니까?
얼마 전에 나는 여기 에서이 작은 덩어리를 훔쳤습니다 .
sort( sapply(ls(),function(x){object.size(get(x))}))
그것은 나에게 잘 봉사했다
1. 클래스 크기별
클래스 별로 메모리 할당을 얻으려면 object.size ()를 호출 하고 관심 객체를 전달하십시오.
object.size(My_Data_Frame)
(인수가 전달 된 변수가 아닌 한, 묶 따옴표로 거나 받을 호출로 감싸 야합니다 .) 변수 이름을 입력 한 다음 따옴표를 생략하고 ,
네임 스페이스를 반복하고 다음과 같이 네임 스페이스의 모든 클래스를 얻을 수 있습니다.
for (itm in ls()) {
print(formatC(c(itm, object.size(get(itm))),
format="d",
big.mark=",",
width=30),
quote=F)
}
2. 클래스 별
네임 스페이스의 메모리 자원을 얻었습니다 memory.profile ()을 사용하십시오.
memory.profile()
NULL symbol pairlist closure environment promise language
1 9434 183964 4125 1359 6963 49425
special builtin char logical integer double complex
173 1562 20652 7383 13212 4137 1
( memory.size ()라는 다른 함수가 Windows에서만 작동하는 기능이라고 들었습니다. 값은 MB 단위로 반환 메모리 .size (최대 = T)).
이 질문 에서 lsos()기능을 시도 할 수 있습니다 .
R> a <- rnorm(100)
R> b <- LETTERS
R> lsos()
Type Size Rows Columns
b character 1496 26 NA
a numeric 840 100 NA
R>
이 질문은 게시 훨씬 전에 합법적 인 답변을 가지고 있지만 난 당신이 라이브러리라는 사용하여 개체의 크기를 위해 또 다른 유용한 팁을 알려주고 싶어했다 GDATA 과 그 ll()기능을.
library(gdata)
ll() # return a dataframe that consists of a variable name as rownames, and class and size (in KB) as columns
subset(ll(), KB > 1000) # list of object that have over 1000 KB
ll()[order(ll()$KB),] # sort by the size (ascending)
참고 URL : https://stackoverflow.com/questions/1395270/determining-memory-usage-of-objects
반응형
'IT' 카테고리의 다른 글
| 분리 된 HEAD 상태에서 git commit은 어떻게 분리 되었습니까? (0) | 2020.07.09 |
|---|---|
| 정수는 여러 반환 값을 모의 (0) | 2020.07.09 |
| 오류 : 테이블 xxx에 대한 테이블 공간이 존재합니다. (0) | 2020.07.09 |
| Bootstrap 3.0- 고정 열 크기를 포함하는 유동 격자 (0) | 2020.07.09 |
| Mac에서 Python 모듈을 설치하는 가장 호환 가능한 방법은 무엇입니까? (0) | 2020.07.09 |