mirror of https://github.com/milvus-io/milvus.git
Force reclamation of memory after loading (#17244)
Signed-off-by: xige-16 <xi.ge@zilliz.com>pull/17247/head
parent
6110e3a06d
commit
e196caf604
|
@ -22,6 +22,7 @@ import (
|
||||||
"fmt"
|
"fmt"
|
||||||
"path"
|
"path"
|
||||||
"runtime"
|
"runtime"
|
||||||
|
"runtime/debug"
|
||||||
"strconv"
|
"strconv"
|
||||||
"sync"
|
"sync"
|
||||||
|
|
||||||
|
@ -141,6 +142,7 @@ func (loader *segmentLoader) loadSegment(req *querypb.LoadSegmentsRequest, segme
|
||||||
for _, s := range newSegments {
|
for _, s := range newSegments {
|
||||||
deleteSegment(s)
|
deleteSegment(s)
|
||||||
}
|
}
|
||||||
|
debug.FreeOSMemory()
|
||||||
}
|
}
|
||||||
|
|
||||||
for _, info := range req.Infos {
|
for _, info := range req.Infos {
|
||||||
|
@ -235,6 +237,10 @@ func (loader *segmentLoader) loadSegmentInternal(segment *Segment,
|
||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// TODO(xige-16): Optimize the data loading process and reduce data copying
|
||||||
|
// for now, there will be multiple copies in the process of data loading into segCore
|
||||||
|
defer debug.FreeOSMemory()
|
||||||
|
|
||||||
var fieldBinlogs []*datapb.FieldBinlog
|
var fieldBinlogs []*datapb.FieldBinlog
|
||||||
if segment.getType() == segmentTypeSealed {
|
if segment.getType() == segmentTypeSealed {
|
||||||
fieldID2IndexInfo := make(map[int64]*querypb.FieldIndexInfo)
|
fieldID2IndexInfo := make(map[int64]*querypb.FieldIndexInfo)
|
||||||
|
|
Loading…
Reference in New Issue