File tree Expand file tree Collapse file tree 3 files changed +19
-10
lines changed
packages/labextension/src Expand file tree Collapse file tree 3 files changed +19
-10
lines changed Original file line number Diff line number Diff line change @@ -42,24 +42,30 @@ async def get(self):
4242
4343 # Get memory information
4444 rss = 0
45+ pss = None
4546 for p in all_processes :
4647 try :
47- rss += p .memory_info ().rss
48+ info = p .memory_full_info ()
49+ if hasattr (info , "pss" ):
50+ pss = (pss or 0 ) + info .pss
51+ rss += info .rss
4852 except (psutil .NoSuchProcess , psutil .AccessDenied ) as e :
4953 pass
5054
5155 if callable (config .mem_limit ):
52- mem_limit = config .mem_limit (rss = rss )
56+ mem_limit = config .mem_limit (rss = rss , pss = pss )
5357 else : # mem_limit is an Int
5458 mem_limit = config .mem_limit
5559
56- limits = {"memory" : {"rss" : mem_limit }}
60+ limits = {"memory" : {"rss" : mem_limit , "pss" : mem_limit }}
5761 if config .mem_limit and config .mem_warning_threshold != 0 :
5862 limits ["memory" ]["warn" ] = (mem_limit - rss ) < (
5963 mem_limit * config .mem_warning_threshold
6064 )
6165
6266 metrics = {"rss" : rss , "limits" : limits }
67+ if pss is not None :
68+ metrics ["pss" ] = pss
6369
6470 # Optionally get CPU information
6571 if config .track_cpu_percent :
Original file line number Diff line number Diff line change @@ -53,14 +53,16 @@ define([
5353 $ . getJSON ( {
5454 url : utils . get_body_data ( 'baseUrl' ) + 'api/metrics/v1' ,
5555 success : function ( data ) {
56- totalMemoryUsage = humanFileSize ( data [ 'rss' ] ) ;
56+ value = data [ 'pss' ] || data [ 'rss' ] ;
57+ totalMemoryUsage = humanFileSize ( value ) ;
5758
5859 var limits = data [ 'limits' ] ;
5960 var display = totalMemoryUsage ;
6061
6162 if ( limits [ 'memory' ] ) {
62- if ( limits [ 'memory' ] [ 'rss' ] ) {
63- maxMemoryUsage = humanFileSize ( limits [ 'memory' ] [ 'rss' ] ) ;
63+ limit = limits [ 'memory' ] [ 'pss' ] || limits [ 'memory' ] [ 'rss' ] ;
64+ if ( limit ) {
65+ maxMemoryUsage = humanFileSize ( limit ) ;
6466 display += " / " + maxMemoryUsage
6567 }
6668 if ( limits [ 'memory' ] [ 'warn' ] ) {
Original file line number Diff line number Diff line change @@ -180,10 +180,9 @@ export namespace MemoryUsage {
180180 this . _units = 'B' ;
181181 this . _warn = false ;
182182 } else {
183- const numBytes = value . rss ;
184- const memoryLimit = value . limits . memory
185- ? value . limits . memory . rss
186- : null ;
183+ const numBytes = value . pss ?? value . rss ;
184+ const memoryLimits = value . limits . memory ;
185+ const memoryLimit = memoryLimits ?. pss ?? memoryLimits ?. rss ?? null ;
187186 const [ currentMemory , units ] = convertToLargestUnit ( numBytes ) ;
188187 const usageWarning = value . limits . memory
189188 ? value . limits . memory . warn
@@ -260,9 +259,11 @@ namespace Private {
260259 */
261260 export interface IMetricRequestResult {
262261 rss : number ;
262+ pss ?: number ;
263263 limits : {
264264 memory ?: {
265265 rss : number ;
266+ pss ?: number ;
266267 warn : boolean ;
267268 } ;
268269 } ;
You can’t perform that action at this time.
0 commit comments